如何找到多级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,那么它就是解决方案之一。是的,我知道我应该在这里使用递归,但在处理这个问题时我的头脑完全乱了。谢谢,我会仔细研究你的答案。