编写程序统计《水浒传》中出场最多的前10位人物。
时间: 2024-03-17 08:41:11 浏览: 254
Python-[jieba库应用]-统计水浒传中人物出现次数
5星 · 资源好评率100%
好的,我可以为您提供一个Python实现的方法。首先,您需要将《水浒传》的文本文件读入程序中,然后将每个人物视为一个“词”,使用分词工具对文本进行分词,然后统计每个词的出现次数。最后,按照出现次数从高到低排序,输出前10个词即可。
以下是实现代码:
```python
import jieba
# 读取《水浒传》文本文件
with open('shuihuzhuan.txt', 'r', encoding='utf-8') as f:
text = f.read()
# 对文本进行分词
words = jieba.lcut(text)
# 去除单个字和标点符号
words = [w for w in words if len(w) > 1 and w != ',' and w != '。']
# 统计每个词的出现次数
word_count = {}
for w in words:
if w in word_count:
word_count[w] += 1
else:
word_count[w] = 1
# 按照出现次数从高到低排序
top10 = sorted(word_count.items(), key=lambda x: x[1], reverse=True)[:10]
# 输出结果
print('出场最多的前10位人物:')
for i, (word, count) in enumerate(top10):
print(f'{i+1}. {word} ({count}次)')
```
该代码使用了jieba分词库对文本进行分词,然后使用Python的字典数据结构对每个词的出现次数进行统计,最后使用sorted函数进行排序,输出前10个词。注意,为了避免统计到单个字和标点符号,我们在分词后去除了长度为1的词和“,”、“。”等符号。
阅读全文