Рекурсивная глубина словаря python

Добрый день,

Я пытаюсь найти рекурсивную глубину функции, которая роюсь в словаре и немного теряюсь... В настоящее время у меня есть что-то вроде:

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). если я вставлю оператор печати для i в d.keys(): тогда я могу, по крайней мере, вывести максимальное значение рекурсии, но возврат значения - это другое дело...

Я уверен, что это просто - я только что получил jellybrain.

Ура

8
задан MandMBen 2 March 2012 в 19:00
поделиться