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

個別の単語をカウントし、それらの頻度をカウントするPythonプログラム


単語のリストがあるとします。これらの単語は複数回出現する可能性があります。これらの単語の頻度を示し、そこにある別個の単語の数を数える必要があります。

したがって、入力がwords =["Book"、 "Sound"、 "Language"、 "Computer"、 "Book"、 "Language"]の場合、出力は(4、 '2 1 2 1')になります。 4つの異なる単語があるため、最初と3番目の単語が2回出現しています。

これを解決するには、次の手順に従います-

  • d:=挿入順序に基づいてアイテムを保存するOrderedDict
  • 単語のwごとに、
    • wがdにある場合、
      • d [w]:=d [w] + 1
    • それ以外の場合、
      • d [w]:=1
  • d内のすべてのキーのリストのサイズのペアであり、dからのすべての値を文字列に結合してから戻ります。

理解を深めるために、次の実装を見てみましょう

from collections import OrderedDict

def solve(words):
   d=OrderedDict()
   for w in words:
      if w in d:
         d[w] += 1
      else:
         d[w] = 1
   return len(d.keys()), ' '.join([str(d[k]) for k in d.keys()])

words = ["Book", "Sound", "Language", "Computer", "Book", "Language"]
print(solve(words))

入力

["Book", "Sound", "Language", "Computer", "Book", "Language"]

出力

(4, '2 1 2 1')

  1. 配列内の反転をカウントするPythonプログラム

    この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −リストが表示されます。必要な反転をカウントして表示する必要があります。 反転カウントは、配列をソートするために必要なステップ数をカウントすることによって取得されます。 次に、以下の実装のソリューションを見てみましょう- 例 # count def InvCount(arr, n):    inv_count = 0    for i in range(n):       for j in range(i + 1, n):  

  2. 与えられた文字列の単語を数えるPythonプログラム?

    「文字列」と「単語」があり、Pythonを使用して文字列内でこの単語の出現回数を見つける必要があるとします。これは、このセクションで行うことです。特定の文字列内の単語の数を数え、それを出力します。 特定の文字列の単語数を数える 方法1:forループを使用する #方法1:forループの使用 test_stirng = input("String to search is : ") total = 1 for i in range(len(test_stirng)):    if(test_stirng[i] == ' ' or te