如何在Python中的嵌套字典中检索嵌套字典的深度?

How to retrieve the depth of nested dictionaries in nested dictionaries in Python?

我不确定我是不是脑子有问题,或者这真的应该是一个挑战,但如果键不是,我无法弄清楚如何检查嵌套字典的深度已知。

这是我正在尝试做的事情的一个例子(以最 simple/efficient 的方式):

最好,在不知道键和值的情况下,我可以通过某种方式确定该字典的最大深度 -

nested_dict = {
  'nest1': {
    'nest2': {
       'nest3': 'val'
    },
    'unknown_key', 'val',
    'unknown_key': 'val'
  }
}

如果这有意义,请告诉我。

检查它是否是字典,如果是,遍历值并递归调用函数获取值的最大值。

PS : Dict 是语法错误,已修复

def max_depth(d):
    if isinstance(d, dict):
        return 1 + max((max_depth(value) for value in d.values()), default=0)
    return 0

nested_dict = {'nest1': {'nest2': {'nest3': 'val'}, 'unknown_key': 'val', 'unknown_key': 'val'}}


print(max_depth(nested_dict))

输出 3