删除字典中列表中的元素

Jua*_*blo 3 python dictionary list

在一本大词典中,类似于

d = {}                                                                                   
d['a']=[1,2,3,4]                                                                         
d['b']=[1,2,3,4,5,6]                                                                     
d['c']=[1,2]                                                                             
d['d']=[1,4]
Run Code Online (Sandbox Code Playgroud)

如何快速删除列表中的"四个"?

编辑

有没有办法链接列表中的四肢?如同,消除一个消除了其他.

Sve*_*ach 8

迭代字典的值并从每个列表中删除4:

for a in d.itervalues():
    try:
        a.remove(4)
    except ValueError:
        pass
Run Code Online (Sandbox Code Playgroud)

这不是很有效,因为从列表中删除元素是O(n)操作.使用不同的数据类型(例如一组)以获得更好的性能.

如果字典值是集合,则可以这样做

for a in d.itervalues():
    a.discard(4)
Run Code Online (Sandbox Code Playgroud)