[英]How to count the number of occurrences of a nested dictionary key?
我有一個嵌套的字典:
d = {'key': 1, 'lock':{'key': 3, 'lock': {'key': 7, 'lock': None}}}
我希望簡單地獲取“密鑰”發生的次數。 因此,在此示例中,輸出為:
3
因為“鍵”出現了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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.