我不确定这是否只是我的脑筋急转弯,或者这实际上应该是一个挑战,但如果键未知,我很难弄清楚如何检查嵌套字典的深度。
下面是我正在尝试做的一个例子(以最简单/有效的方式):
最好的情况是,有一些方法可以确定这个字典的最大深度,而不需要知道键和值-
nested_dict = {
'nest1': {
'nest2': {
'nest3': 'val'
},
'unknown_key', 'val',
'unknown_key': 'val'
}
}请让我知道这是否有意义。
发布于 2021-11-19 06:58:01
检查它是否为dict,如果是,则迭代这些值,并递归调用该函数以获取该值的最大值。
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
https://stackoverflow.com/questions/70030886
复制相似问题