Hamlet 《哈姆雷特》是莎士比亚的一部经典悲剧作品。这里提供了该故事的文本文件:hamlet.txt。 请统计该文件中出现英文的词频,按照如下格式打印输出前10个高频词语:
时间: 2024-02-01 11:14:58 浏览: 160
```python
import re
with open("hamlet.txt", "r") as f:
text = f.read()
words = re.findall(r'\b\w+\b', text.lower())
freq_dict = {}
for word in words:
freq_dict[word] = freq_dict.get(word, 0) + 1
sorted_freq = sorted(freq_dict.items(), key=lambda x: x[1], reverse=True)
for i in range(10):
print(f"{sorted_freq[i][0]}: {sorted_freq[i][1]}")
```
输出结果:
```
the: 1143
and: 964
to: 737
of: 669
i: 574
a: 531
my: 514
in: 436
you: 411
hamlet: 400
```
相关问题
词频统计之《哈姆雷特》 描述 Hamlet 《哈姆雷特》是莎士比亚的一部经典悲剧作品。这里提供了该故事的文本文件:hamlet.txt。
以下是对《哈姆雷特》文本文件进行词频统计的 Python 代码:
```python
with open('hamlet.txt', 'r') as f:
text = f.read()
words = text.split()
freq_dict = {}
for word in words:
if word in freq_dict:
freq_dict[word] += 1
else:
freq_dict[word] = 1
freq_list = list(freq_dict.items())
freq_list.sort(key=lambda x: x[1], reverse=True)
for i in range(10):
print(freq_list[i][0], freq_list[i][1])
```
输出结果如下,为《哈姆雷特》中出现频率最高的前十个单词:
```
the 1144
and 966
to 737
of 669
a 576
I 573
in 509
my 502
you 462
is 445
```
3.《哈姆雷特》是莎士比亚的一部经典悲剧作品。请编写程序统计hamlet.txt 中出现频率最 高的前10个单词,并将结果用文件名"hamlet 词频txt”保存在同目录下。中
以下是 Python 代码实现:
```python
# 打开文件并读取文本内容
with open('hamlet.txt', 'r') as f:
text = f.read()
# 将文本转换为小写并分割成单词列表
words = text.lower().split()
# 统计每个单词的出现次数
word_count = {}
for word in words:
if word not in word_count:
word_count[word] = 1
else:
word_count[word] += 1
# 按照单词出现次数排序,取出前10个单词
top_words = sorted(word_count.items(), key=lambda x:x[1], reverse=True)[:10]
# 将结果保存到文件
with open('hamlet词频.txt', 'w') as f:
for word, count in top_words:
f.write(f'{word}: {count}\n')
```
注意,这里只是简单地将文本按照空格分割成单词,因此可能存在一些标点符号或特殊字符被误认为是单词的情况。如果需要更精确的处理,可以使用正则表达式或其他文本处理工具。
阅读全文