我正在寻找“。”在字典中并尝试删除键/值对,如果我找到它
if "." in dict.values():
#delete key, value pair from the dictionary
我确信这很简单,但我似乎无法找到解释。 谢谢你的帮助。
答案 0 :(得分:6)
使用字典理解创建一个没有这些不需要的值的新字典。以下是如何执行此操作的示例:
>>> old_dict = {'one': '.', 'two': 2, 'three':3, 'four':'.'}
>>> new_dict = {k:v for k,v in old_dict.iteritems() if not v == '.'}
>>> new_dict
{'three': 3, 'two': 2}
使用iteritems
代替items
可以避免创建中间列表并提高性能。
答案 1 :(得分:1)
如果您不想复制字典,(例如,如果字典很大,或者您在其他地方有引用它),那么您应该这样做:
ks = [k for k in d if d[k]=='.']
for k in ks:
d.pop(k)
如上所示,创建要提前删除的密钥列表。你不想在迭代它时修改你的字典。