※このページではアフィリエイト広告を利用しています

【Python入門】リスト内の要素の出現回数を数える方法|count()とCounter()の使い分け

Python

Pythonで「リストの中に特定の値がいくつあるか」を数えたいとき、count()メソッドや、標準ライブラリのcollections.Counter()がとても便利です。

この記事では、Pythonのリスト内で要素をカウントする方法を初心者向けに解説します。

この記事でわかること
  • count()の基本的な使い方
  • Counter()の使い方と辞書形式の出力
  • 両者の違いと使い分けのポイント
  • よくある活用例と注意点
スポンサーリンク
スポンサーリンク

count()メソッドで特定の要素をカウントする方法

count()の基本的な型

変数名.count(a)

count()メソッドは、Listにおける任意の「a」が何個存在するかCountして個数を返します。文字列やリスト内に指定した要素が何回出現するかを簡単に数えることができるため、データ処理や文字列操作などで役立ちます。

count()を用いた使用例

test = [55,70,90,90,80,45]
print(test.count(90))

結果

2

このように、count()リスト内で特定の値の個数を数えるだけのシンプルな処理に適しています。

collections.Counter()でリストのすべての要素を一括カウント

より多くの要素を一括で集計したい場合は、collectionsモジュールのCounterクラスが便利です。

counter()の基本的な型

from collections import Counter
count_l = Counter(l)

counter()メソッドは「collections」ライブラリの関数になります。この関数は、リストや文字列などのイテラブルオブジェクトに含まれる各要素の出現回数をカウントして辞書形式で返します。

複雑なデータ処理や統計解析などで非常に便利なライブラリの一つです。

counter()を用いた使用例

from collections import Counter

l = [1, 2, 3, 2, 4, 2]
count_l = Counter(l)
print(count_l)

上記のプログラムは、リスト [1, 2, 3, 2, 4, 2] に含まれる各要素の出現回数を Counter() 関数を用いて数えるものになります。

結果

Counter({2: 3, 1: 1, 3: 1, 4: 1})

count()とCounter()の違いと使い分け

比較項目count()Counter()
用途特定の1要素を数える全体の要素を一括でカウント
戻り値の型整数(intCounterdictのように扱える)
処理速度単純な回数カウントに最適複数要素の集計でパフォーマンスが良い
モジュールの要否不要collectionsモジュールのインポートが必要

関連知識:文字列にも使える!

文字列でcount()を使う例

text = "apple banana apple orange"
print(text.count("apple"))  # 結果: 2

文字列でCounter()を使う例

from collections import Counter
text = "banana"
print(Counter(text))  # 結果: Counter({'a': 3, 'b': 1, 'n': 2})

まとめ

Pythonでリストや文字列中の要素をカウントしたいときは、以下のように使い分けると便利です。

  • すべての要素の頻度を知りたいCounter()
  • 単一の値の出現回数を知りたいcount()

関連記事

タイトルとURLをコピーしました