我有一本字典。我想创建一个新的字典,将值列表(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']
现在,我想将列表值与Dictionary值进行比较,并创建一个包含这样的值的新词典,
33003282 :['25000', 'None', '4779'],
33003283: ['2564','78784', '7841', '89564'],
33003285: ['32723', '8954', '5259', '25000','04189', '8820', '2166']
我在理解方式上做了以下几点,希望我能像lists中那样做:
new_dict = {key: value for value in code_dict.items()}.isin([code for code in my_list])
在词典中使用isin
不起作用,如何创建新词典?
答案 0 :(得分:1)
你可以试试这个:
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