本关任务:编写程序,统计一个文件中单词出现的次数,并输出出现次数最多的前3个单词。
时间: 2023-09-05 11:10:54 浏览: 184
这份代码中包括探究矩阵和统计单词出现的次数
好的,这是一个比较常见的文本处理任务。我来为您解答。
以下是Python代码示例:
```python
import re
# 读取文件内容
with open('file.txt', 'r') as f:
content = f.read()
# 将文本中的所有非字母字符替换为空格
content = re.sub(r'[^a-zA-Z]+', ' ', content)
# 将所有单词转换为小写,便于统计
content = content.lower()
# 将文本按空格分割为单词列表
words = content.split()
# 统计每个单词出现的次数
word_count = {}
for word in words:
if word in word_count:
word_count[word] += 1
else:
word_count[word] = 1
# 按单词出现次数从大到小排序
sorted_word_count = sorted(word_count.items(), key=lambda x: x[1], reverse=True)
# 输出出现次数最多的前3个单词
for i in range(min(3, len(sorted_word_count))):
print(sorted_word_count[i][0], sorted_word_count[i][1])
```
上述代码首先读取文本文件内容,然后使用正则表达式将所有非字母字符替换为空格,再将文本转换为小写,并按空格分割为单词列表。接着,使用一个字典统计每个单词出现的次数,并按照出现次数从大到小排序。最后输出出现次数最多的前3个单词。
注意,上述代码仅适用于英文文本。如果要处理其他语言的文本,需要相应地调整正则表达式。
阅读全文