簡體   English   中英

將列表與字典的每個值(是字符串列表)進行比較

[英]Comparing a list to each value of dictionary (which are a list of strings)

我有一個要與字典進行比較的葯品清單,其中字典鍵是葯品代碼,字典值是葯品清單。 我只想保留字典中與毒品清單相對應的毒品。


示例列表:

l = ['sodium', 'nitrogen', 'phosphorus']

和字典:

d = {'A02A4': ['sodium', 'nitrogen', 'carbon']}

我希望我的最終字典看起來像:

{'A02A4': ['nitrogen', 'sodium']}

刪除列表中不存在的值,並針對字典中的所有鍵,值對執行此操作

您可以使用字典理解並設置為僅保留與列表相交的值:

l = ['sodium', 'nitrogen', 'phosphorus']
d = {'A02A4': ['sodium', 'nitrogen', 'carbon']}

{i: list(set(v) & set(l)) for i,v in d.items()}
{'A02A4': ['nitrogen', 'sodium']}

或者等效地,使用intersection

{i: list(set(v).intersection(l)) for i,v in d.items()}
{'A02A4': ['nitrogen', 'sodium']}

暫無
暫無

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

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