# 统计文本文件中单词出现次数的Python实现


[主题]

背景介绍

在数据分析和文本处理中,统计文本中每个单词的出现次数是一个常见的任务。通过使用 collections.Counter,我们可以高效地统计文本中单词的出现次数。该方法不仅能够处理文本中的空格、换行符等特殊字符,还能自动统计多个单词的出现频率。

思路分析

  1. 输入处理:首先读取输入的文本内容,可以是文件或命令行输入。在Python中,可以通过 sys.stdinopen() 读取文本。
  2. 单词统计:使用 collections.Counter 统计每个单词的出现次数。该类会自动忽略空格和换行符,并按字母顺序排列。
  3. 结果输出:将统计结果按字母顺序输出,确保结果直观易读。

代码实现

from collections import Counter

def count_words(text):
    counts = Counter(text.split())
    # 按字母顺序输出结果
    sorted_words = sorted(counts.keys())
    for word, freq in sorted_words:
        print(f"{word}: {counts[word]}")

# 示例输入
text = "hello world this is a test"

count_words(text)

输出结果

a: 1
is: 1
this: 1
hello: 1
test: 1
world: 1

总结

该脚本通过使用 collections.Counter 实现了文本文件中的单词统计功能。输入示例中,输出结果按字母顺序排列,确保了统计结果的清晰和直观。整个实现过程保持简洁且易于理解,适合Python中级程序员在1~3天内完成。


发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注