创建与python中的列表相比较的新字典

2024-05-08 18:00:31 发布

您现在位置: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']

我以理解的方式做了以下事情,希望我能像我们在lists中那样做:

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

在词典中使用isin不起作用,如何创建新词典?你知道吗


Tags: innone列表for字典valuemy方式
1条回答
网友
1楼 · 发布于 2024-05-08 18:00:31

你可以试试这个:

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

相关问题 更多 >