一個 Python 程式來計算不同的單詞並統計它們的頻率


假設我們有一個單詞列表。這些單詞可能多次出現。我們必須顯示這些單詞的頻率並統計有多少個不同的單詞。

因此,如果輸入像是 words = ["Book", "Sound", "Language", "Computer", "Book", "Language"], 那麼輸出將是 (4, '2 1 2 1'),因為這裡有四個不同的單詞,第一個和第三個單詞出現了兩次。

為了解決這個問題,我們將按照以下步驟操作 -

  • d:= 按插入順序儲存項的有序字典
  • 對 words 中的每個 w 執行操作
    • 如果 d 中有 w,那麼
      • 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')

更新於:12-Oct-2021

755 次瀏覽

開啟你的 職業人生

完成課程,獲得認證

開始學習
廣告