【发布时间】:2021-12-29 23:52:06
【问题描述】:
我不确定我是否只是大脑受阻,或者这是否真的应该是一个挑战,但是如果不知道键,我无法弄清楚如何检查嵌套字典的深度。
这是我正在尝试做的一个例子(以最简单/有效的方式):
最理想的情况是,在不知道键和值的情况下,我可以通过某种方式来确定该字典的最大深度 -
nested_dict = {
'nest1': {
'nest2': {
'nest3': 'val'
},
'unknown_key', 'val',
'unknown_key': 'val'
}
}
如果这有意义,请告诉我。
【问题讨论】:
-
您可以查看字典的每个
.values(),并测试这些值是否是字典。然后递归测试该字典的值。 -
根据上下文,另一种数据结构(例如树)可能对存储数据更有用。
-
我重新格式化了您的数据以突出显示第一个 'unknown_key' 和重复键的语法错误。
-
... 如果您不想要递归解决方案,请使用队列来确定您需要探索哪些分支。即这是呼吸或深度优先搜索算法,恰好可以计算。
-
@9769953 Python 中的树形数据结构是什么样的?
标签: python python-3.x dictionary nested