d = {'foo': 'x',
'bar': 'y',
'zoo': 'None',
'foobar': 'None'}
我想过滤所有值为 'None'
的项目,并用特定值更新 foo
和 bar
项目。我试过:
for i in x.items():
....: if i[i] == 'None':
....: x.pop(i[0])
....: else:
....: x.update({i[0]:'updated'})
但它不起作用。
最佳答案
不清楚您发布的字典中的'None'
是什么。如果是字符串,可以使用如下:
dict((k, 'updated') for k, v in d.items() if v != 'None')
如果是None
,就替换检查,例如:
dict((k, 'updated') for k, v in d.items() if v is None)
(如果您仍在使用 Python 2,请将 .items()
替换为 .iteritems()
)
关于python - 如何在 Python 中过滤字典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4484690/