簡體   English   中英

與python中的列表相比,創建一個新字典

[英]Create a new dictionary comparing to a list in python

我有一本字典。 我想創建一個新字典,將值列表 ( my_list ) 與我字典的值進行比較。

我的字典, code_dict鍵和值:

33003282 :['25000', '27800', 'None', '4779'], 
33003283: ['2564', '6264', '78784', '7841', '89564'], 
33003285: ['32723', '8954', '5259', '5225', '25000','04189', '8820', '2166']

我有這樣的my_list

my_list = ['27800', '6264', '5225']

現在,我想將我的列表值與字典值進行比較,並創建一個具有如下值的新字典,

33003282 :['25000', 'None', '4779'], 
33003283: ['2564','78784', '7841', '89564'], 
33003285: ['32723', '8954', '5259', '25000','04189', '8820', '2166']

我以理解的方式做了以下事情,希望我能像我們在列表中那樣做:

new_dict = {key: value for value in code_dict.items()}.isin([code for code in my_list])

在字典中使用isin不起作用,如何創建新字典?

你可以試試這個:

d = {33003282 :['25000', '27800', 'None', '4779'], 33003283: ['2564', '6264', '78784', '7841', '89564'],33003285: ['32723', '8954', '5259', '5225', '25000','04189', '8820', '2166']}
my_list = ['27800', '6264', '5225']
final_d = {a:[i for i in b if i not in my_list] for a, b in d.items()}

輸出:

{33003282: ['25000', 'None', '4779'], 33003283: ['2564', '78784', '7841', '89564'], 33003285: ['32723', '8954', '5259', '25000', '04189', '8820', '2166']}

輸出是一個字典,其中的值經過過濾,因此my_list中不存在任何元素

暫無
暫無

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

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