计算字典中值的频率

时间:2012-02-22 18:50:27

标签: python dictionary

我的字典包含这样的值 {A:3,B:9,C:88,d:3} 我想计算特定数字出现在上面字典中的次数。 例如,在上面的字典3中,字典中出现了两次 请帮忙编写python脚本

2 个答案:

答案 0 :(得分:12)

您应该使用collections.Counter

>>> from collections import Counter
>>> d = {'a':3, 'b':9, 'c':88, 'd': 3}
>>> Counter(d.values()).most_common()
[(3, 2), (88, 1), (9, 1)]

答案 1 :(得分:1)

我会使用defaultdict来执行此操作(基本上是计数器的更通用版本)。这是自2.4以来。

from collections import defaultdict
counter = defaultdict( int )

b = {'a':3,'b':9,'c':88,'d':3}
for k,v in b.iteritems():
    counter[v]+=1

print counter[3]
print counter[88]

#will print
>> 2
>> 3