集合中所有计数的总和。Coun

2024-05-13 19:37:47 发布

您现在位置:Python中文网/ 问答频道 /正文

collections.Counter对象中建立所有计数之和的最佳方法是什么?

我试过:

sum(Counter([1,2,3,4,5,1,2,1,6]))

但这会导致21而不是9


Tags: 对象方法countercollections计数sum
3条回答

对值求和:

sum(some_counter.values())

演示:

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

您拥有的代码将键相加(即列表中的唯一值:1+2+3+4+5+6=21)。

要合计计数,请使用:

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

这个习语在documentation“Common patterns”下面提到。

相关问题 更多 >