我有一本字典如下:
mydict ={1:'apple',2:'banana',3:'banana',4:'apple',5:'mango'}
我想计算一个列表,其中包含多次出现的值的所有键:
mylist = [1,2,3,4]
值'mango'
仅显示一次,因此5
中不存在键mylist
。
我怎样才能做到这一点?
答案 0 :(得分:6)
您可以使用Counter
执行此操作:
>>> from collections import Counter
>>> c = Counter(mydict.values())
>>> [k for k, v in mydict.items() if c[v] > 1]
[1, 2, 3, 4]
答案 1 :(得分:2)
在python 2.7上,小字典的简单方法。更好的解决方案,使用collections.Counter。
>>> [k for k, v in mydict.items() if mydict.values().count(v) > 1]
[1, 2, 3, 4]