给定-一个包含中文内容的文本文件test.txt,统计该文本文件中出现的所有词 的词频,并根据键盘输入的自然数n,来输出前n个词频最高的词以及词频。 python
时间: 2024-03-26 11:41:17 浏览: 63
统计指定的文本文件(英文)中,每个单词的出现频率,输出按字典序排列的单词频度表。
好的,我可以帮你解决这个问题。
首先,我们需要读取文本文件并将其分词。可以使用Python中的jieba库来实现分词功能。具体代码如下:
``` python
import jieba
# 读取文本文件
with open('test.txt', 'r', encoding='utf-8') as f:
text = f.read()
# 分词
words = jieba.cut(text)
```
接下来,我们需要统计每个词的出现次数。可以使用Python中的collections库中的Counter类来实现。具体代码如下:
``` python
from collections import Counter
# 统计词频
word_counts = Counter(words)
```
最后,我们可以按照词频进行排序,并输出前n个词频最高的词以及词频。具体代码如下:
``` python
# 排序
sorted_word_counts = sorted(word_counts.items(), key=lambda x: x[1], reverse=True)
# 输出前n个词频最高的词以及词频
n = int(input("请输入自然数n:"))
for i in range(n):
print(sorted_word_counts[i][0], sorted_word_counts[i][1])
```
这样,就可以实现统计文本文件中词频并输出前n个词频最高的词以及词频的功能了。
阅读全文