使用python《红楼梦》人物出场统计,输出出场率最高的10个人物。
时间: 2024-02-18 11:59:30 浏览: 342
好的,我可以帮您完成这个任务。首先,您需要下载《红楼梦》的文本文件,并将其保存在您的电脑上。接下来,您可以使用Python中的一些库来完成这个任务,比如`jieba`库和`collections`库。下面是一份示例代码,供您参考:
```python
import jieba
from collections import Counter
# 读取文本文件
with open('hongloumeng.txt', 'r', encoding='utf-8') as f:
text = f.read()
# 使用jieba分词
words = jieba.lcut(text)
# 统计人物出现次数
names = []
for i in range(len(words)-1):
if words[i]=='贾' and words[i+1]=='宝':
name = '贾宝玉'
names.append(name)
elif words[i]=='林' and words[i+1]=='黛':
name = '林黛玉'
names.append(name)
elif words[i]=='薛' and words[i+1]=='宝':
name = '薛宝钗'
names.append(name)
elif words[i]=='王' and words[i+1]=='熙':
name = '王熙凤'
names.append(name)
elif words[i]=='贾' and words[i+1]=='母':
name = '贾母'
names.append(name)
elif words[i]=='王' and words[i+1]=='夫':
name = '王夫人'
names.append(name)
elif words[i]=='凤' and words[i+1]=='姐':
name = '凤姐'
names.append(name)
# 统计人物出现次数并排序
name_count = Counter(names)
top_names = name_count.most_common(10)
# 输出结果
for name, count in top_names:
print(name, count)
```
请您注意,这份示例代码只统计了一些比较重要的人物,如果您需要统计其他的人物,您可以在代码中添加相应的处理逻辑。另外,由于《红楼梦》的文本比较复杂,这份示例代码可能无法完全准确地统计人物出现次数。如果您需要更加精确的结果,您可能需要对代码进行一些修改。
阅读全文