欢迎访问宙启技术站
智能推送

编写一个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的文本文件,包含一些文本内容。程序会统计文件中每个单词的出现次数,并按照出现次数进行排序后输出。