为了账号安全,请及时绑定邮箱和手机立即绑定

如何计算嵌套字典键的出现次数?

如何计算嵌套字典键的出现次数?

泛舟湖上清波郎朗 2021-11-09 15:35:09
我有一个嵌套字典: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


查看完整回答
反对 回复 2021-11-09
  • 1 回答
  • 0 关注
  • 181 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信