次の番号のリストがあります。
l = [2L, 14L, 14L, 14L, 11L, 2L, 2L, 11L, 14L, 11L, 14L, 2L, 2L, 14L, ...]
2数字 (例: ) または複数の数字 (例:2または5または)の出現回数を調べるにはどうすればよい7ですか?
私がやろうとしていた方法はforループでしたが、もっと効率的な方法があるはずです。
次の番号のリストがあります。
l = [2L, 14L, 14L, 14L, 11L, 2L, 2L, 11L, 14L, 11L, 14L, 2L, 2L, 14L, ...]
2数字 (例: ) または複数の数字 (例:2または5または)の出現回数を調べるにはどうすればよい7ですか?
私がやろうとしていた方法はforループでしたが、もっと効率的な方法があるはずです。
collections.Counter値を出現回数にマップする辞書を作成します。
>>> from collections import Counter
>>> l = [2L, 14L, 14L, 14L, 11L, 2L, 2L, 11L, 14L, 11L, 14L, 2L, 2L, 14L]
>>> c = Counter(l)
>>> c
Counter({14L: 6, 2L: 5, 11L: 3})
>>> c[14L]
6
>>> l.count(2)
5
パイのようにシンプル。カウントを見つけたい数値のリストがある場合は、たとえば次のように試すことができます。
>>> {n: l.count(n) for n in [2, 5, 7]}
{2: 5, 5: 0, 7: 0}
すべての要素のカウントが必要な場合collections.Counterは、他の回答で述べたように、 をお勧めします。