编写程序统计hamlet.txt中出现频率最高的前10个单词,并将结果用文件名hamlet_cipin.txt保存在同目录下。 要求: the 、and 、to 、 of、a 、be、 it、 is、 not、 but此类单词不计入其中
时间: 2023-10-20 21:14:46 浏览: 77
以下是Python代码实现:
```python
import re
# 定义要排除的单词
exclude_words = ["the", "and", "to", "of", "a", "be", "it", "is", "not", "but"]
# 读取文本文件并统计单词出现次数
word_count = {}
with open("hamlet.txt", "r") as f:
for line in f:
words = re.findall(r'\b\w+\b', line.lower())
for word in words:
if word not in exclude_words:
if word in word_count:
word_count[word] += 1
else:
word_count[word] = 1
# 按照单词出现次数排序并取前10个
sorted_word_count = sorted(word_count.items(), key=lambda x: x[1], reverse=True)[:10]
# 将结果写入文件
with open("hamlet_cipin.txt", "w") as f:
for word, count in sorted_word_count:
f.write(word + " " + str(count) + "\n")
```
在上述代码中,我们首先定义了要排除的单词列表。然后读取文本文件,并使用正则表达式找出所有单词。对于每个单词,如果它不在排除列表中,则将其出现次数加入到一个字典中。最后,我们使用`sorted`函数对字典进行排序,取前10个并将结果写入文件。
阅读全文