カテゴリ: Python 更新日: 2025/07/30

Pythonでリストをカウントする方法(collections.Counterの活用)

Pythonでリストをカウントする方法(collections.Counterの活用)
Pythonでリストをカウントする方法(collections.Counterの活用)

先生と生徒の会話形式で理解しよう

生徒

「Pythonでリストの中に同じものが何回あるか数える方法ってありますか?」

先生

「あるよ。Pythonにはcollectionsという標準ライブラリの中に、Counterという便利な機能があるんだ。」

生徒

「それを使えば、数を自動で数えてくれるんですか?」

先生

「そのとおり!難しく見えるけど、とても簡単に使えるから一緒にやってみよう!」

-

1. Counterとは何か?

1. Counterとは何か?
1. Counterとは何か?

Pythonのcollections.Counterは、リストや文字列などのデータに含まれる要素の出現回数を自動で数えてくれる「カウント専用の道具」です。

例えば、「りんご」「みかん」「りんご」といったリストがあったときに、「りんごが2回」「みかんが1回」などを簡単に数えてくれます。

2. Counterを使うには?

2. Counterを使うには?
2. Counterを使うには?

まずはcollectionsモジュールからCounterをインポートして使います。


from collections import Counter

fruits = ["りんご", "みかん", "りんご", "バナナ", "みかん", "りんご"]
count = Counter(fruits)
print(count)

Counter({'りんご': 3, 'みかん': 2, 'バナナ': 1})

このように、リストに含まれる要素とその数が、辞書のような形式で表示されます。

3. Counterの結果を使いやすくする

3. Counterの結果を使いやすくする
3. Counterの結果を使いやすくする

Counterの結果は、辞書と似た形をしているので、通常の辞書と同じように使えます。


print(count["りんご"])
print(count["みかん"])

3
2

このようにして、特定の要素の数だけを取り出すこともできます。

4. 要素がない場合はどうなる?

4. 要素がない場合はどうなる?
4. 要素がない場合はどうなる?

Counterは、カウントされていない要素を取り出すと、自動で「0」を返します。エラーにはなりません。


print(count["ぶどう"])

0

これは通常の辞書と違う大きな特徴です。安全に使えるので便利です。

-

5. 最も多い要素を取り出す

5. 最も多い要素を取り出す
5. 最も多い要素を取り出す

most_common()というメソッドを使えば、出現回数の多い順に並べることができます。


print(count.most_common(2))

[('りんご', 3), ('みかん', 2)]

このように、上位2つの要素とその回数が表示されます。データの傾向をつかむときに便利です。

6. ループで表示する

6. ループで表示する
6. ループで表示する

Counterの中身はfor文で取り出して表示することもできます。


for fruit, cnt in count.items():
    print(fruit, "は", cnt, "回")

りんご は 3 回
みかん は 2 回
バナナ は 1 回

辞書と同じように.items()でキーと値を取り出すことができます。

7. Counterの便利な使い道

7. Counterの便利な使い道
7. Counterの便利な使い道

collections.Counterは以下のような場面で活躍します:

  • アンケート結果の集計
  • ゲームのスコア記録
  • データの出現頻度分析
  • 文字列の文字数カウント

初心者でも簡単に使えるので、ぜひPythonでのデータ処理の基本スキルとして覚えておきましょう。

8. 文字列にもCounterは使える

8. 文字列にもCounterは使える
8. 文字列にもCounterは使える

リストだけでなく、文字列にもCounterはそのまま使えます。


text = "banana"
count = Counter(text)
print(count)

Counter({'a': 3, 'n': 2, 'b': 1})

このように、1文字ずつを数えてくれます。文字解析にも使えます。

コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

カテゴリの一覧へ
新着記事
PHPでセッションを使ってフォーム入力を保持する方法を解説!初心者向けステップバイステップ
Pythonで文字列をリストに変換する方法!split()とjoin()の使い方
Pythonの変数とは?定義方法とデータ型を初心者向けに解説
PHPでメールフォームを作る方法を徹底解説!初心者向けにmail関数とPHPMailerの使い方も紹介
人気記事
No.1
PHP&Python記事人気No1
Pythonでテキストファイルを1行ずつ読み込む方法(readline() / readlines())
No.2
PHP&Python記事人気No2
Pythonで文字列が数値か判定する方法!isdigit()・isnumeric()の違い
No.3
PHP&Python記事人気No3
Pythonのリストを辞書に変換する方法(dict() / zip())
No.4
PHP&Python記事人気No4
初心者向けにPHP でファイルを開く・読み込む・書き込む方法(fopen, fwrite, fread)を解説する記事
-