我有一个元组列表:
lst=[(6, 'C'), (6, 'H'), (2, 'C'), (2, 'H')]还有一本字典:
dct={'6C': (6, 'C'), '6H': (6, 'H'), '9D': (9, 'D'), '10D': (10, 'D'), '11S': (11, 'S'), '2C': (2, 'C'), '2H': (2, 'H')}如何从字典中删除列表中的元素?在这个例子中,我想要的输出是:
dct2={'9D': (9, 'D'), '10D': (10, 'D'), '11S': (11, 'S')}发布于 2016-01-03 19:45:54
我会使用字典理解来用列表中找不到的值映射键:
new_dict = {k: v for k, v in old_dict.items() if v not in the_list} # filter from the list发布于 2016-01-03 19:45:01
如果您正在使用Python 2,请尝试如下:
for key, value in dct.items():
    if value in lst:
        del dct[key]编辑:
在Python 2和3中工作的解决方案:
dict((key, value) for key, value in dct.items() if value not in lst)发布于 2016-01-03 20:06:27
使用 function from toolz
from toolz import valfilter
valfilter(lst.__contains__, dct)https://stackoverflow.com/questions/34580845
复制相似问题