我有一个嵌套字典:d = {'key': 1, 'lock':{'key': 3, 'lock': {'key': 7, 'lock': None}}}我希望简单地获得“关键”出现的次数。所以在这个例子中,输出将是:3因为 'key' 出现了 3 次。我知道这很简单,但我对如何使用字典做到这一点有点迷茫。如果可能,我宁愿不使用任何库。谢谢您的帮助!
1 回答

翻过高山走不出你
TA贡献1875条经验 获得超3个赞
您可以使用递归计算给定键的函数:
def count(d, k):
c = int(k in d)
for v in d.values():
if isinstance(v, dict):
c += count(v, k)
return c
或者以更简洁的方式编写上述内容:
def count(d, k):
return (k in d) + sum(count(v, k) for v in d.values() if isinstance(v, dict))
所以count(d, 'key')返回:3
添加回答
举报
0/150
提交
取消