簡體   English   中英

在具有多個值的鍵的字典中查找常見值

[英]Find common values in dictionary that has keys with multiple values

我是python新手,有問題。 我試圖找到具有值的鍵; 但是,鍵具有多個值。

d = {
    'a': ['john', 'doe', 'jane'], 
    'b': ['james', 'danny', 'john'], 
    'C':['john', 'scott', 'jane'],
}

我想在d中找到值john並獲取鍵a,b和c,或者找到jane並獲取鍵a和c。

使用列表推導很容易做到這一點。 迭代dict的項目列表中的每個鍵/值對,其中包含所有鍵/值對( for key,val in d.items() ),並且僅選擇值列表中包含目標字符串的對( if 'john' in val ,從結果鍵( [ key ... ] )中構建列表。

>>> [ key for key,val in d.items() if 'john' in val ]
['b', 'a', 'C']
>>> [ key for key,val in d.items() if 'jane' in val ]
['a', 'C']

因此,您必須仔細閱讀字典中的項目,如果find關鍵字在項目列表中,則必須將相應的鍵存儲在列表中,並且必須顯示此列表。

d = {'a':['john', 'doe', 'jane'], 'b': ['james', 'danny', 'john'], 'C':['john', 'scott', 'jane'],}
find ='jane'

所以這就是用python編寫邏輯的方式

print ([m for m in d.keys() if find in d[m]])

它將給出以下輸出

['a', 'C']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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