我有一本字典
a={}
a['A']=1
a['B']=1
a['C']=2
我需要输出以下内容
1 has occurred 2 times
2 has occurred 1 times
最好的方法是什么。
答案 0 :(得分:6)
这很容易(并且有效地)使用collections.Counter()
来完成,它旨在(不出所料)计算事物:
>>> import collections
>>> a = {"A": 1, "B": 1, "C": 2}
>>> collections.Counter(a.values())
Counter({1: 2, 2: 1})
这为您提供了一个类似字典的对象,可以简单地用于生成您想要的输出。
答案 1 :(得分:1)
使用Counter
类:
from collections import Counter
a = {}
a["A"] = 1
a["B"] = 1
a["C"] = 2
c = Counter(a.values())
c
=> Counter({1: 2, 2: 1})
Counter是用于计算可哈希对象的dict子类。它是一个无序集合,其中元素存储为字典键,其计数存储为字典值。计数允许为任何整数值,包括零或负计数。 Counter类与其他语言的包或多重集类似。