Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonで辞書を使って文字列内の単語の出現頻度をカウントする方法

文字列内に出現する単語の頻度を辞書を使って数えたい場合、splitメソッドで文字列を分割し、リスト内包表記を活用することで簡単に実現できます。

リスト内包表記とは、リストを順番に処理しながら操作を行うための簡潔な記述方法です。通常のforループを1行にまとめて書けるため、コードが読みやすくなります。

なお、Pythonのリストには異なるデータ型の値(整数、浮動小数点数、文字列など)を混在させて格納することが可能です。

サンプルコード

以下に実際の実装例を示します。

my_string = input("Enter the string :")
my_list=[]
my_list=my_string.split()
word_freq=[my_list.count(p) for p in my_list]
print("The frequency of words is ...")
print(dict(zip(my_list,word_freq)))

実行結果

Enter the string :Hi jane how are you jane
The frequency of words is ...
{'Hi': 1, 'jane': 2, 'how': 1, 'are': 1, 'you': 1}

処理の流れの解説

  • ユーザーが入力した文字列を変数に代入します。
  • 空のリストを作成します。
  • splitメソッドで文字列を空白区切りで分割し、リストに格納します。
  • リスト内包表記で各要素を順に取り出し、countメソッドを使って各単語の出現回数をカウントします。
  • カウント結果を変数に代入します。
  • 単語のリストと頻度のリストをzip関数で結合し、dict関数で辞書に変換します。
  • 最後にその辞書をコンソールに表示します。

このように、splitcount・リスト内包表記・zipを組み合わせることで、わずか数行のコードで単語頻度の集計が実現できます。より大規模なテキスト処理を行う場合は、標準ライブラリのCollections.Counterを使うとさらに効率的に処理できるので、用途に応じて使い分けるとよいでしょう。

  1. セットを使って文字列内の母音の数をカウントするPythonプログラム

    本記事では、Pythonを使って文字列内に含まれる母音の数をカウントする方法について解説します。セット(set)を活用した効率的な実装を中心に、初心者の方にもわかりやすく説明していきます。 問題の概要 問題文:任意の文字列が与えられたとき、その文字列に含まれる母音の数をセットを使って数えます。 基本的なアプローチとしては、文字列全体を先頭から順に走査し、各文字が母音であるかどうかを判定します。母音であればカウントを1ずつ増やしていき、最終的な合計を出力します。 実装例 def vowel_count(str_): count = 0 # 母音をセットとして定義 vowe

  2. Pythonで文字列内の母音の数を数える方法をわかりやすく解説

    Pythonで文字列内の母音の数を数える基本手順Pythonでは、シンプルなループ処理を使うことで、文字列に含まれる母音(a、e、i、o、u)の数を簡単に数えることができます。ここでは、初心者にもわかりやすいように、基本的な実装手順を順を追って解説します。ステップ1:母音をまとめた文字列を用意するまず、すべての母音を格納した文字列オブジェクトを宣言します。>>> vowels = aeiouステップ2:カウント用の変数を初期化する次に、母音の出現回数を記録するための変数を0で初期化します。>>> count = 0ステップ3:文字列を走査して母音を判定する対