[英]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.difference
和ignore_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.