Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何找到多级python dict的最深dict级别?_Python_Algorithm_Dictionary - Fatal编程技术网

如何找到多级python dict的最深dict级别?

如何找到多级python dict的最深dict级别?,python,algorithm,dictionary,Python,Algorithm,Dictionary,例如,如果我们有一个类似于{a:{b:c},d:e}的dict,那么这个dict的最大级别是2 我已经考虑了两天找到任意dict的最大级别的方法,但没有找到解决方案 如何做到这一点?使用递归: 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

例如,如果我们有一个类似于
{a:{b:c},d:e}
的dict,那么这个dict的最大级别是2

我已经考虑了两天找到任意dict的最大级别的方法,但没有找到解决方案

如何做到这一点?

使用递归:

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())

所以你在这里寻找一个整数?你想解决什么问题?@MartijnPieters,是的,我想用字典树的表示法来解决八皇后难题。比如,
result={(1,2):{(3.4):{…}}}
,所以如果result的子项深度为8,那么它就是解决方案之一。是的,我知道我应该在这里使用递归,但在处理这个问题时我的头脑完全乱了。谢谢,我会仔细研究你的答案。