簡體   English   中英

如何計算嵌套字典鍵的出現次數?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM