实现一个完整的程序,该程序能够对一个英文文本文件,统计文件中所有不同单词的个数,以及词频最大的前10%的单词。
时间: 2024-05-07 09:21:07 浏览: 141
英文文本单词词频统计(C++实现)
5星 · 资源好评率100%
以下是一个Python程序,它可以实现对英文文本文件的不同单词的统计,并找出词频最大的前10%的单词:
```python
import re
from collections import Counter
# 打开文件并读取内容
with open('textfile.txt', 'r') as file:
text = file.read()
# 使用正则表达式匹配所有单词
words = re.findall(r'\b\w+\b', text.lower())
# 统计不同单词的个数
word_count = Counter(words)
# 计算前10%的单词数量
top_words = int(len(word_count) * 0.1)
# 打印不同单词的数量
print("不同单词的数量:", len(word_count))
# 打印词频最大的前10%的单词
for word, count in word_count.most_common(top_words):
print(f"{word}: {count}")
```
在这个程序中,我们首先打开并读取了一个文本文件。然后,我们使用正则表达式匹配所有单词,并使用Counter对象统计每个不同单词的数量。接下来,我们计算前10%的单词数量,并使用most_common()方法找到词频最大的前10%的单词。最后,我们打印了不同单词的数量和词频最大的前10%的单词。
阅读全文