编写程序,统计文件“Nixon.txt”中出现频率最高的20个单词,并将统计结果写入“Tongji.txt”文件中。(注意:除去'the','and','to','of','a','be','from','in','for'等无意义的单词。)
时间: 2023-12-04 14:03:44 浏览: 81
好的,我可以为您提供一个Python程序,用于统计文件“Nixon.txt”中出现频率最高的20个单词,并将统计结果写入“Tongji.txt”文件中。以下是程序代码:
```Python
import re
# 定义需要忽略的单词列表
ignore_list = ['the', 'and', 'to', 'of', 'a', 'be', 'from', 'in', 'for']
# 读取文件内容,并将所有单词转换为小写
with open('Nixon.txt', 'r') as f:
content = f.read().lower()
# 使用正则表达式匹配所有单词
words = re.findall(r'\b([a-z]+)\b', content)
# 统计每个单词出现的次数
word_count = {}
for w in words:
if w not in ignore_list:
if w in word_count:
word_count[w] += 1
else:
word_count[w] = 1
# 按照出现次数降序排序,并取出前20个单词
sorted_words = sorted(word_count.items(), key=lambda x: x[1], reverse=True)[:20]
# 将统计结果写入文件“Tongji.txt”中
with open('Tongji.txt', 'w') as f:
for w in sorted_words:
f.write('{}\t{}\n'.format(w[0], w[1]))
```
这个程序首先定义了需要忽略的单词列表,然后读取文件“Nixon.txt”的内容,并将所有单词转换为小写。接着,程序使用正则表达式匹配所有单词,并统计每个单词出现的次数。在统计过程中,程序会忽略需要忽略的单词。最后,程序按照出现次数降序排序,并取出前20个单词,将统计结果写入文件“Tongji.txt”中。
阅读全文