Sum of all counts in a collections.Counter Sum of all counts in a collections.Counter python python

Sum of all counts in a collections.Counter


The code you have adds up the keys (i.e. the unique values in the list: 1+2+3+4+5+6=21).

To add up the counts, use:

In [4]: sum(Counter([1,2,3,4,5,1,2,1,6]).values())Out[4]: 9

This idiom is mentioned in the documentation, under "Common patterns".


Sum the values:

sum(some_counter.values())

Demo:

>>> from collections import Counter>>> c = Counter([1,2,3,4,5,1,2,1,6])>>> sum(c.values())9


Starting in Python 3.10, Counter is given a total() function which provides the sum of the counts:

from collections import CounterCounter([1,2,3,4,5,1,2,1,6]).total()# 9