初心者向けPython演習

Count Character Frequency in Python

How many times does each letter appear? Build a frequency dictionary, or let Counter do it.

  • 初級
  • 約2分で読めます
  • 実行できるサンプル 1 件
学べること
  • Counting with a dictionary and .get()
  • collections.Counter
  • Printing counts in order
"banana"
'a'3
'b'1
'n'2

One counter per character

文字の出現回数を数えるのは、最も多く出てくる文字を探す、2つの文字列の構成が同じか調べる、といった文章分析でよく使う処理です。結果はたいてい、文字をキー、出現回数を値とする辞書に保存します。

重要なポイント

  1. counts[ch] = counts.get(ch, 0) + 1 adds one for each character.
  2. Counter(text) builds the same table in one call.
  3. sorted(counts.items()) prints the letters alphabetically.

どんな場面で使う?

  • 短くてわかりやすい例を通して、Pythonの書き方と基本的な考え方に慣れる。
  • より複雑な問題に進む前に、しっかりした土台を作る。
  • パソコンにPythonをインストールしなくても、ブラウザですぐにコードを実行して試す。

サンプルコード

コードを実行 →
main.py
from collections import Counter

# Counter maps each character to its occurrence count.
frequencies = Counter("banana")
for character in sorted(frequencies):
    print(f"{character}={frequencies[character]}")
この例の実行ボタンを作成

実行結果

a=3
b=1
n=2

コードの解説

Counter("banana")は文字列を1回たどって度数表を作り、aは3回、nは2回、bは1回です。ループはsorted()によって文字をアルファベット順にたどるので、毎回同じ順番で結果が表示されます。

値を変更し、PythonをインストールせずにCodeUtilityオンラインPythonコンパイラで実行できます。

発展問題

下のヒントにしたがってコードを書き換えてみましょう。自分で変えて結果を確かめると、コードを読むだけよりずっと深く理解できます。

  1. 入力データを変え、実行する前に結果を予想してから確かめる。
  2. データが空のときや不正なときのチェックを追加する。
  3. 処理を別の関数にまとめ、いろいろなデータで試す。
Pythonコンパイラで実行 →

チャレンジで練習する

このレッスンの内容を使って実際の問題を解きましょう。各チャレンジはブラウザで動き、すぐにテストされ、AI のレビューも受けられます。

すべてのチャレンジ