繁体   English   中英

如何从键与列表中的项目匹配的字典中删除键值对?

[英]How to remove key-value pairs from a dictionary where the key matches an item in a list?

我有一本看起来像这样的字典

my_dict = {'i': 5, 'citizens': 12, 'you': 344, 'the': 567, 'me': 11, 'states': 22, '': 104, 'in': 156} 

和一个看起来像的列表

ignore_words = ['i', 'we', 'you', 'he', 'she', 'it', 'they', 'me', 'us']

我想编辑字典以删除其中一个键与列表中的项目匹配的所有键值对,因此我有 output ,如下所示:

my_dict = {'citizens': 12, 'the': 567, 'states': 22, '': 104, 'in': 156} 

我试过了

[my_dict.pop(key) for key in ignore_words]

但我得到一个KeyError 最好的方法是什么?

您可以在dict.keys上使用set.differenceignore_list

keys = my_dict.keys() - ignore_words
out  = {k: my_dict[k] for k in keys}
# {'': 104, 'in': 156, 'states': 22, 'citizens': 12, 'the': 567}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM