Pythonでリスト内の要素の出現回数をカウントする方法

Pythonでリスト内の特定の要素が何回出現しているかをカウントするための主な方法として、count()メソッドとcollections.Counterがあります。それぞれの方法について見ていきましょう。

list.count()メソッド

count()は、リスト内で特定の要素が出現する回数をカウントするためのシンプルな方法です。

my_list = [1, 2, 3, 1, 2, 1]
print(my_list.count(1))  # 結果: 3

このメソッドはリスト全体を1つずつ確認し、指定した要素が見つかるたびにカウントを増やします。単一の要素のカウントには便利ですが、複数要素に対しては非効率です。

collections.Counterを使った方法

Counterはリスト内のすべての要素を一度にカウントし、要素とその出現回数を保持する辞書形式のオブジェクトを返します。複数の要素をカウントする場合、Counterの方が効率的です。

from collections import Counter
my_list = [1, 2, 3, 1, 2, 1]
count_dict = Counter(my_list)
print(count_dict[1])  # 結果: 3

Counterはパフォーマンス面でも優れており、複数の要素を一度にカウントしたい場合には特に有効です。

まとめ

  • 単一の要素をカウントする場合、list.count()を使うと簡単です。
  • 複数の要素を一度にカウントしたい場合や、大規模なリストにはcollections.Counterを使う方が効率的です。