G'day,
Я пытаюсь найти рекурсивную глубину функции, которая перебирает словарь, и я немного растерялся ...
В настоящее время у меня есть что-то вроде:
myDict = {'leve1_key1': {'level2_key1': {'level3_key1': {'level4_key_1': {'level5_key1': 'level5_value1'}}}}}
И я хочу знать, насколько вложен самый вложенный словарь ... поэтому я делаю следующее ...
def dict_depth(d, depth):
for i in d.keys():
if type(d[i]) is dict:
newDict = d[i]
dict_depth(newDict, depth+1)
return depth
print dict_depth(myDict, 0)
Единственная проблема в том, что рекурсивный цикл возвращает только окончательное значение (0).
если я положу в печать заявление
for i in d.keys():
тогда я могу, по крайней мере, напечатать самое высокое значение рекурсии, но возвращение значения - это другое дело ...
Я уверен, что это просто - у меня только что есть медуза.
Приветствия