2014-12-02 86 views
-2

例如,如果我们有像{a: {b: c}, d: e}的字典,然后为此字典最高级别为2如何查找多级python字典的最深层次的字典级别?

我一直在想找到2天任意字典的最高水平的方法,但没找不到解决方案。

如何做到这一点?

+1

所以,你正在寻找这里的整数?你想解决什么问题? – 2014-12-02 13:01:35

+0

@MartijnPieters,是的,我试图解决八皇后难题,与字典树的代表。就像'result = {(1,2):{(3.4):{...}}}',所以如果结果的sub_item的深度为8,那么它就是解决方案之一。 – Zen 2014-12-02 13:04:29

回答

1

使用递归:

def nested_depth(d): 
    if not isinstance(d, dict): 
     return 0 
    if not d: 
     return 1 
    return 1 + max(nested_depth(v) for v in d.values()) 
+0

是的,我知道我应该在这里使用递归,但是当处理这个问题时,我的头脑是一团糟。谢谢,我会研究你的答案。 – Zen 2014-12-02 13:05:40