我有一本字典
a={}
a['A']=1
a['B']=1
a['C']=2
我需要输出以下内容
1 has occurred 2 times
2 has occurred 1 times
做这个的最好方式是什么。
我有一本字典
a={}
a['A']=1
a['B']=1
a['C']=2
我需要输出以下内容
1 has occurred 2 times
2 has occurred 1 times
做这个的最好方式是什么。
这很容易(并且有效)完成collections.Counter()
,它旨在(毫不奇怪)计算事物:
>>> import collections
>>> a = {"A": 1, "B": 1, "C": 2}
>>> collections.Counter(a.values())
Counter({1: 2, 2: 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 类类似于其他语言中的 bag 或 multisets。