python读入英文文本文件统计单词出现的次数,按降序输出次数前10的单词
时间: 2023-11-28 22:13:00 浏览: 77
好的,可以使用Python的字典(dict)来实现单词出现次数的统计,代码如下:
```python
import re
# 读入文本文件
with open('text.txt', 'r') as f:
text = f.read()
# 把文本文件中的标点符号和换行符替换为空格
text = re.sub(r'[^\w\s]', ' ', text)
# 分割单词并统计出现次数
word_count = {}
for word in text.split():
if word not in word_count:
word_count[word] = 1
else:
word_count[word] += 1
# 按降序输出次数前10的单词
top_10 = sorted(word_count.items(), key=lambda x: x[1], reverse=True)[:10]
for word, count in top_10:
print(f'{word}: {count}')
```
其中,`re.sub(r'[^\w\s]', ' ', text)` 的作用是使用正则表达式把文本中的标点符号和换行符替换为空格,`\w` 匹配单词字符,`\s` 匹配空白字符,`[^\w\s]` 匹配除单词字符和空白字符以外的字符。`sorted(word_count.items(), key=lambda x: x[1], reverse=True)[:10]` 的作用是把字典按值从大到小排序,并取前10个元素作为结果。
阅读全文