web-dev-qa-db-ja.com

コレクション内のすべてのカウントの合計。カウンター

_collections.Counter_オブジェクトのすべてのカウントの合計を確立する最良の方法は何ですか?

私はもう試した:

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

しかし、これは9?ではなく21になります

40
Baz

持っているコードは、キー(つまり、リスト内の一意の値: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 に記載されています。

55
NPE

値を合計します。

sum(some_counter.values())

デモ:

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

以下も使用できます。

len(Counter([1,2,3,4,5,1,2,1,6]).elements())
0
lerner