在 Python 中查找字典的深度

pythonserver side programmingprogramming更新于 2025/10/11 10:52:17

Python 字典可以嵌套,即字典内有字典。在本文中,我们将了解如何在有嵌套字典的情况下计算字典的嵌套级别。

使用字符串转换

在这种方法中,我们将整个字典转换为字符串。然后我们计算左侧 { 的数量,以指示字典嵌套到哪一层。

示例

dictA = {1: 'Sun', 2: {3: {4:'Mon'}}}
dictStr = str(dictA)
cnt = 0
for i in dictStr :
   if i == "{":
      cnt += 1
print("字典深度:",cnt)

输出

运行上述代码得到以下结果 −

字典深度:3

使用递归

我们可以设计一个函数,该函数将递归调用自身来检查字典的值。只要内部元素被评估为字典,该函数就会调用自身,我们将获得字典深度的结果。

示例

def finddepth(dictA):
   if isinstance(dictA, dict):
      return 1 + (max(map(finddepth, dictA.values()))
         if dictA else 0)

   return 0

dictA = {1: 'Sun', 2: {3: {4:'Mon'}}}
print("字典深度: ",finddepth(dictA))

输出

运行上述代码得到以下结果 −

字典深度: 3

相关文章


有用资源