Python3.11使用jieba统计《三国演义》人物出场,输入自定义的电子版《三国演义》文本,输出出场率最高的 10个人物,并保存为文本文件。
时间: 2024-10-16 07:04:58 浏览: 230
在Python 3.11中,我们可以使用jieba库进行中文分词,结合字典数据结构来统计《三国演义》人物的出场次数。以下是一个简化的步骤说明:
1. **安装必要的库**:
首先需要安装`jieba`库,可以使用pip命令进行安装:
```
pip install jieba
```
2. **分词处理**:
使用`jieba.lcut()`函数对文本进行分词,去除停用词(如“的”、“了”等常用词),只保留人物名。
3. **构建人物出场字典**:
初始化一个空的字典,例如`character_frequency = {}`,遍历分词后的结果,如果遇到的人物名未在字典中,就添加并初始化为0;已存在的则增加计数。
4. **统计和排序**:
遍历文本,累加每个字符在文本中出现的次数。然后使用`collections.Counter`或自定义的排序函数找出出场次数最多的前10个人物。
5. **保存结果**:
将排序后的结果写入到文本文件中,比如`top_characters.txt`。
```python
import jieba
from collections import Counter
# 假设你已经有了电子版《三国演义》的文本内容,存储在变量text中
text = "..."
# 分词
words = jieba.lcut(text)
# 假定人物名列表(根据实际文本调整)
characters = ["刘备", "关羽", ...] # 你需要将这里替换为实际的人物名单
# 创建频率字典
character_frequency = {char: 0 for char in characters}
for word in words:
if word in character_frequency:
character_frequency[word] += 1
# 统计并找到最常见的10个人物
top_10_characters = Counter(character_frequency).most_common(10)
# 保存到文件
with open("top_characters.txt", "w", encoding="utf-8") as f:
for character, count in top_10_characters:
f.write(f"{character}: {count}\n")
阅读全文