<分区>
我知道字典不应该以这种方式使用,因此没有内置函数可以帮助执行此操作,但我需要删除字典中具有特定值的每个条目。
所以如果我的字典是这样的:
'NameofEntry1': '0'
'NameofEntry2': 'DNC'
...
我需要删除(可能弹出)所有具有 DNC 值的条目,字典中有多个条目。
标签 python
<分区>
我知道字典不应该以这种方式使用,因此没有内置函数可以帮助执行此操作,但我需要删除字典中具有特定值的每个条目。
所以如果我的字典是这样的:
'NameofEntry1': '0'
'NameofEntry2': 'DNC'
...
我需要删除(可能弹出)所有具有 DNC 值的条目,字典中有多个条目。
最佳答案
修改原始字典:
for k,v in your_dict.items():
if v == 'DNC':
del your_dict[k]
或者使用字典理解创建一个新的字典:
your_dict = {k:v for k,v in your_dict.items() if v != 'DNC'}
来自docs在 iteritems()
、iterkeys()
和 itervalues()
上:
Using
iteritems()
,iterkeys()
oritervalues()
while adding or deleting entries in the dictionary may raise aRuntimeError
or fail to iterate over all entries.
这同样适用于普通的 for key in dict:
循环。
在 Python 3 中,这适用于 dict.keys()
、dict.values()
和 dict.items()
。
关于python - 删除具有特定值的字典键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17095163/