【发布时间】:2017-10-29 00:32:40
【问题描述】:
我有一本字典。我想创建一个新字典,将值列表 (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 不起作用,如何创建新字典?
【问题讨论】:
-
你能解释一下你想用字典理解做什么吗?只打印值?如果是这样,请不要对此使用理解,这称为副作用,不建议使用。
-
这似乎是一个更有趣的问题要解决,您应该通过minimal reproducible example 使用一些输入和预期输出相应地编辑您的问题。 :-)
-
这样使用怎么样:{key: value for key,value in code_dict.items()} ?
-
如果您只需要这些值,请使用
list(code_dict.values())获取仅包含它们的列表。顺便说一句,没有字典isin方法。 -
那么,您想只保留那些在 中的列表项吗?还是不是? (预期的输出会有所帮助)。
标签: python python-3.x dictionary list-comprehension