功能需求

使用Python的collections库中的Counter类来统计文本中单词的出现频率。首先,你可以从网上找一篇文章,然后用Python代码来分析文章中每个单词出现的次数。


程序分析

①导入Python的collections库中的Counter类

②主要功能是读取一个为"article.txt"的文件,使用正则表达式将文本分割成单词,然后统计每个单词出现的频率,并打印出统计结果。

需要读取的.txt文件

使用python打印出词频_正则表达式

程序实现

from collections import Counter
import re
# 打开文章文件
with open('article.txt', 'r') as f:
    text = f.read()
# 使用正则表达式分割文本
words = re.findall(r'\b\w+\b', text)
# 统计词频并打印结果
word_counts = Counter(words)
print(word_counts)


代码解释

在Python中,re库是正则表达式库,用于处理字符串的模式匹配和替换等操作。在刚才的代码中,re.findall(r'\b\w+\b', text)是使用正则表达式来分割文本。

\b 是一个单词边界,它匹配一个单词的开始或结束。 \w+ 匹配一个或多个字母、数字或下划线。所以,r'\b\w+\b' 匹配的是文本中的一个或多个字母、数字或下划线的完整单词。

re.findall(r'\b\w+\b', text) 的作用就是找出在 text 中所有满足 \b\w+\b 这个正则表达式的部分,也就是找出所有独立的单词。这些单词被作为一个列表返回,然后这个列表被赋值给 words 变量。


运行结果

使用python打印出词频_Python_02


注意事项

Python的collections库中的Counter类,以及Python的re库。这些库在Python的标准库中,所以不需要额外安装。

②确保将article.txt文件与Python代码文件放在同一个文件夹中,或者将文件路径正确指定在open()函数中。运行修改后的代码,它将读取article.txt文件并打印每个单词出现的频率。