簡體   English   中英

如果鍵在列表中,則獲取字典的鍵和值

[英]Getting keys and values of dictionary if key in list

所以我有一個字典名稱“ngrams_count”。 我想在這個字典中找到名為“words_to_find”的列表中的所有鍵。 我還想返回與這些鍵關聯的值。

到目前為止,這就是我正在使用的

ideasrep = [key for key in words_to_find if key in ngrams_count]

這僅返回在單詞列表中找到的鍵。

我也在尋找一種方法來只返回值大於一個的鍵/值對。 我嘗試過類似的技術:

[(key,values) for key, values in ngrams_count.items() if values > 1]

但是,這似乎只有在我留在字典中並且我的想法已經用完時才有效......理想情況下,我想要一種同時做這兩件事的方法。

您的第一個版本幾乎是正確的,您只需將ngrams_count[key]添加到結果中。

ideasrep = [(key, ngrams_count[key]) for key in words_to_find if key in ngrams_count]

或者您可以使用第二個版本,但更改條件以檢查密鑰是否在words_to_find中。

[(key,values) for key, values in ngrams_count.items() if key in words_to_find]

如果words_to_find很大,則應在列表推導之前將其轉換為set ,以使第二個版本更高效。

暫無
暫無

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

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