我想迭代字典,检查值并删除与特定值匹配的项目.
例
d = {1, 1, 2, 1, 4, 5}
for i in d:
if i == 1:
del i
Run Code Online (Sandbox Code Playgroud)
但我们知道这样做很危险,因为列表在迭代时会更新.在Python中这样做的干净方法是什么?
如果k是你的字典,你可以做
k = {x:v for x,v in k.iteritems() if x != 1}
Run Code Online (Sandbox Code Playgroud)
适用于2.7+和3.0
对于任何年龄较大的人,你都可以
k = dict((x,v) for x,v in k.iteritems() if x!=1)
Run Code Online (Sandbox Code Playgroud)