_collections.Counter
_オブジェクトのすべてのカウントの合計を確立する最良の方法は何ですか?
私はもう試した:
sum(Counter([1,2,3,4,5,1,2,1,6]))
しかし、これは9?ではなく21になります
持っているコードは、キー(つまり、リスト内の一意の値: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 に記載されています。
値を合計します。
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())
以下も使用できます。
len(Counter([1,2,3,4,5,1,2,1,6]).elements())