编写一个Python程序,实现将一个文本文件中的单词按照出现次数排序的功能
发布时间:2023-12-04 11:55:25
以下是一个实现将文本文件中的单词按照出现次数排序的Python程序,其中包含使用示例:
import re
from collections import Counter
def count_words(filename):
# 读取文件内容
with open(filename, 'r') as file:
text = file.read()
# 使用正则表达式分割单词
words = re.findall(r'\w+', text.lower())
# 使用Counter计算单词出现次数
word_count = Counter(words)
return word_count
def sort_words(filename):
# 获取单词出现次数
word_count = count_words(filename)
# 按照出现次数进行排序
sorted_words = sorted(word_count.items(), key=lambda x: x[1], reverse=True)
return sorted_words
if __name__ == '__main__':
filename = 'example.txt'
# 统计单词出现次数并排序
sorted_words = sort_words(filename)
# 打印排序后的单词及对应的出现次数
for word, count in sorted_words:
print(f'{word}: {count}')
在上述代码中,count_words函数用于统计文件中每个单词的出现次数,并返回一个Counter对象。sort_words函数接收一个文件名作为参数,并首先调用count_words函数获取单词出现次数,然后按照出现次数进行排序并返回排序后的结果。
在使用例子中,程序假设有一个名为example.txt的文本文件,包含一些文本内容。程序会统计文件中每个单词的出现次数,并按照出现次数进行排序后输出。
