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

我有一个嵌套字典:

d = {'key': 1, 'lock':{'key': 3, 'lock': {'key': 7, 'lock': None}}}

我希望简单地获得“关键”出现的次数。所以在这个例子中,输出将是:

3

因为 'key' 出现了 3 次。我知道这很简单,但我对如何使用字典做到这一点有点迷茫。如果可能,我宁愿不使用任何库。

谢谢您的帮助!


泛舟湖上清波郎朗
浏览 183回答 1
1回答

翻过高山走不出你

您可以使用递归计算给定键的函数: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
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python