Pythonで「リストの中に特定の値がいくつあるか」を数えたいとき、count()
メソッドや、標準ライブラリのcollections.Counter()
がとても便利です。
この記事では、Pythonのリスト内で要素をカウントする方法を初心者向けに解説します。
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要素を数える | 全体の要素を一括でカウント |
戻り値の型 | 整数(int ) | Counter (dict のように扱える) |
処理速度 | 単純な回数カウントに最適 | 複数要素の集計でパフォーマンスが良い |
モジュールの要否 | 不要 | 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()