Pythonで文字列内の特定の文字の出現回数を数える3つの方法
Pythonでは、ある文字列の中に特定の文字が何回出現するかを調べたい場面がよくあります。例えば、テキスト解析やデータクリーニングの際に、特定の記号や文字の頻度を把握することは重要な処理の一つです。
この記事では、文字列と文字が与えられたときに、その文字が文字列内に何回繰り返し現れるかを調べる方法を、具体的なコード例とともに紹介します。
方法1:range関数とlen関数を使う
forループを設計し、インデックスを使って文字列内の各文字にアクセスしながら、対象の文字と一致するかどうかを1文字ずつ確認していきます。range()関数とlen()関数を組み合わせることで、文字列の左から右へ走査する際に照合を行う回数(つまり文字列の長さ)を自動的に決定できます。
コード例
Astr = "How do you do"
char = 'o'
# 与えられた文字列と文字
print("与えられた文字列:\n", Astr)
print("与えられた文字:\n", char)
res = 0
for i in range(len(Astr)):
# 文字列内の文字をチェック
if (Astr[i] == char):
res = res + 1
print("文字列内に出現した回数:\n", res)実行結果
上記のコードを実行すると、次のような結果が得られます。
与えられた文字列: How do you do 与えられた文字: o 文字列内に出現した回数: 4
この例では、文字列「How do you do」の中に「o」が4回出現していることがわかります。この方法はロジックがシンプルで分かりやすい反面、文字数が多い文字列ではループ処理のオーバーヘッドが発生します。
方法2:collectionsモジュールのCounterを使う
collectionsモジュールからCounterクラスを利用すると、文字列内の各文字の出現回数をまとめて取得できます。その後、検索したい文字に対応するキーの値を参照するだけで、目的のカウントを簡単に取り出せます。
コード例
from collections import Counter
Astr = "How do you do"
char = 'o'
# 与えられた文字列と文字
print("与えられた文字列:\n", Astr)
print("与えられた文字:\n", char)
count = Counter(Astr)
print("文字列内に出現した回数:\n", count['o'])実行結果
上記のコードを実行すると、次のような結果が得られます。
与えられた文字列: How do you do 与えられた文字: o 文字列内に出現した回数: 4
Counterは辞書型のように動作するため、複数の文字の頻度を一度に調べたい場合に特に便利です。全文字の出現回数が一度の処理で計算されるため、同じ文字列に対して何度も集計を行う場合にも効率的です。
方法3:str.count()メソッドを使う(おまけ)
実はPythonには、文字列クラスに標準で備わっているcount()メソッドがあり、これが最もシンプルな解決策です。1行で出現回数を取得できます。
コード例
Astr = "How do you do"
char = 'o'
print("文字列内に出現した回数:", Astr.count(char))実行結果
文字列内に出現した回数: 4
まとめ
文字列内の文字の出現回数を数える方法として、以下の3つを紹介しました。
- range + len + forループ: 処理の流れが明確で学習向き。ロジックを自分で制御したい場合に有効。
- Counter: 全文字の頻度を一括で集計でき、複数文字を調べる際に効率的。
- str.count(): 最も簡潔で実用的。単一の文字や部分文字列のカウントならこれが第一候補。
用途に応じて使い分けることで、より読みやすく効率的なPythonコードを書くことができます。
-
Androidで文字列内の各文字の出現回数をカウントする方法【サンプルコード付き】
この記事では、Androidで文字列内に各文字が何回出現するかをカウントする方法を、実際に動作するサンプルコードとともに解説します。EditTextに入力された文字列を解析し、HashMapを使って各文字の出現回数を集計してTextViewに表示する、シンプルなカウントアプリを作成していきましょう。 ステップ1:Android Studioで新規プロジェクトを作成する まずはAndroid Studioで新しいプロジェクトを作成します。メニューから「File」⇒「New Project」を選択し、必要な項目をすべて入力してプロジェクトを作成してください。 ステップ2:レイアウトファイル(act
-
【Excel】文字列内の文字・単語の出現回数をカウントする5つの方法
このチュートリアルでは、Excelで特定の文字列やデータ範囲内に含まれる文字や単語の出現回数をカウントする方法を解説します。大量のデータが入力されたセルや範囲の中から、特定の文字が何回登場するのかを調べたい場面はよくあります。本記事では、そんな作業を効率化できる実用的な数式を5つご紹介します。 練習用ワークブックのダウンロード 本記事で使用している練習用ワークブックは、こちらからダウンロードできます。 Excelで文字列内の文字の出現回数を数える5つの方法 1. SUMPRODUCT関数とLEN関数で文字数の合計を求める 1つのセル内の文字数を知りたい場合は、LEN関数だけで十分です。し