从Python字典中删除某些元素

2024-04-25 18:17:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一本字典和一张单子。我想从字典中删除那些出现在列表中的值(如果这些值出现在字典中)。这些元素可以多次出现在字典中。你知道吗

例如:
my_dic={'key1':['a','b','c'],'key5':['d','a','e']}.
我想删除值“a”和“c”,而不调用键(键1和键5)。你知道吗

我怎么继续?你知道吗


Tags: 元素列表字典my单子key1dic和键
2条回答

我想是这样的

lst = ['val1','val2','val3']
dct = {
   'key1': ['val1','val6'],
   'key2': ['val2','val45'],
   'key3': ['val52','val48']
}

for key in dct.keys():
    vals = dct[key]
    for value in vals:
        if value in lst:
            while value in vals:
                 vals.remove(value)
    dct[key] = vals


print dct >>> {'key3': ('val52', 'val48'), 'key2': ('val45',), 'key1': ('val6',)}
target_dict = {'key1':['a','b','c'],'key5':['d','a','e']}
values_to_detele = ['a', 'c']
In [225]: for val_list in target_dict.itervalues():
    for del_val in  values_to_detele:
        while del_val in val_list:
            val_list.remove(del_val)
   .....:             

In [226]: target_dict
Out[226]: {'key1': ['b'], 'key5': ['d', 'e']}

相关问题 更多 >