我想用1
的值删除字典中的键,但我知道的唯一方法是手动输入要删除的键,效率很低。有什么想法吗?
我有一种感觉我应该使用:
for key,value in mydict.items():
例如,如果我有字典
mydict = {'a':1, 'b':2, 'c':3, 'd':1, 'e':1}
如何删除值为1
的键,以便我可以打印一个纯值为> 1
的键的字典?
答案 0 :(得分:2)
您可以使用dict comprehension过滤字典:
>>> mydict = {'a':1, 'b':2, 'c':3, 'd':1, 'e':1}
>>> {k:v for k,v in mydict.items() if v != 1}
{'c': 3, 'b': 2}
>>>
请注意,如果您使用的是Python 2.x,则应使用mydict.iteritems()
以避免创建不必要的列表。
答案 1 :(得分:1)
您可以浏览字典中的每个项目(键值对)以检查冲突并在新Dict。(此处为...结果)中添加不包含重复项的值。
mydict = {'a':1, 'b':2, 'c':3, 'd':1, 'e':1}
result = {}
for key,value in mydict.items():
if value not in result.values():
result[key] = value
print result
答案 2 :(得分:0)
要创建一个包含值大于1的项目的新词典,请使用下面的dict comprehension。
>>> mydict = {'a':1, 'b':2, 'c':3, 'd':1, 'e':1}
>>> {key:value for key,value in mydict.items() if value > 1}
{'c': 3, 'b': 2}