Python 程序用于计算不同单词的数量并计算其频率

pythonserver side programmingprogramming更新于 2025/12/21 18:20:17

假设我们有一个单词列表。这些单词可能会出现多次。我们必须显示这些单词的频率并计算有多少个不同的单词。

因此,如果输入为 words = ["Book", "Sound", "Language", "Computer", "Book", "Language"],则输出将为 (4, '2 1 2 1'),因为有四个不同的单词,第一个和第三个单词出现了两次。

为了解决这个问题,我们将遵循以下步骤 −

  • d:= 一个 OrderedDict,用于根据插入顺序存储项目
  • 对于 words 中的每个 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')

相关文章


有用资源