Counter 是字典类的一个子类可以用来统计可以查数目的对象中元素个数的。
代码语言:javascript复制c = Counter() # a new, empty counter
c = Counter('gallahad') # a new counter from an iterable
c = Counter({'red': 4, 'blue': 2}) # a new counter from a mapping
c = Counter(cats=4, dogs=8) # a new counter from keyword args
对于没有的元素进行查询时会返回 0 而不会报错。
如果要想把一个元素从计数器中移出,要使用del
与字典对象相比,计数器对象还有三个额外的方法:
- elements():返回一个和统计结果完全一致的列表。
c = Counter(a=4, b=2, c=0, d=-2)
list(c.elements())
#['a', 'a', 'a', 'a', 'b', 'b']
- most_common([n]):按照出现频率从高到低返回 n 个元素,同样多的元素会被随机排序。
- subtract([iterable-or-mapping]):按照输入的参数来减掉对应的数字。
两个 Counter 对象还支持 ,-,&,|等逻辑与运算。
代码语言:javascript复制 c # remove zero and negative counts
c = Counter(a=3, b=1)
d = Counter(a=1, b=2)
c d # add two counters together: c[x] d[x]
c - d # subtract (keeping only positive counts)
c & d # intersection: min(c[x], d[x])
c | d # union: max(c[x], d[x])