проблема должна быть довольно понятной. У меня есть вложенный dict, и я хотел бы получить из него строку, которая выглядит как команда windows tree для папок.
Это будет примерный dict:
dictionary = {"a": {"b": {"c": None}, "d": None}, "e": None}
И ожидаемый результат будет:
├───a
│ ├───b
│ │ └───c
│ └d
└──e
Правильная репрезентация этого не является моей главной целью, просто было бы больше отступов на «более вложенную» сущность, это было бы удивительно. Я знаю, что мне нужно будет создать рекурсивную функцию, но мои попытки настолько провалены, что даже не стоит делиться ими. Поэтому я пришел сюда :)
Моя попытка кода в соответствии с просьбой ...
dictio = {"a": {"b": {"c": None}, "d": None}, "e": None}
x = 0
end = {}
def recursive(dic):
global x
for key in dic:
if isinstance(dic[key], dict):
end[list(dic[key].keys())[0]] = x
x += 1
recursive(dic[key])
else:
end[list(dic.keys())[0]] = x
x -= 1
recursive(dictio)
print(end)
В результате получается {'b': 1, 'c': 2, 'a' : 0}