python统计西游记人物出场次数
时间: 2023-10-30 21:03:14 浏览: 696
统计《西游记》人物出场次数可以使用Python编程实现。首先,我们需要打开《西游记》的文本文件,并将内容读取到一个字符串中。然后,我们可以使用字符串的相关方法或正则表达式来查找人物的出现次数。
下面是一个简单的示例代码:
```python
# 读取《西游记》文本文件
with open('西游记.txt', 'r', encoding='utf-8') as file:
content = file.read()
# 统计人物出现次数
characters = ['孙悟空', '猪八戒', '沙僧', '唐僧'] # 这里可以根据需求添加更多人物
count = {}
for character in characters:
count[character] = content.count(character)
# 打印统计结果
for character, appearance in count.items():
print(f"{character}出现了 {appearance} 次。")
```
通过以上代码,我们可以统计《西游记》中指定人物的出现次数。你可以根据实际情况修改代码中的人物列表`characters`,添加或删除人物。
请注意,这只是一个简单的示例代码,需要根据实际情况进行修改。比如,你可能需要处理一些特殊情况,例如人名的别称、重名等。此外,你还可以根据需求对代码进行优化,提高运行效率。
相关问题
python统计西游记出场人物次数
可以使用Python中的字典来统计西游记中出场人物的次数,具体代码如下:
```python
# 打开西游记文本文件
with open('西游记.txt', 'r', encoding='utf-8') as f:
# 读取文件内容
content = f.read()
# 将文本内容转换为小写,去除标点符号和空格
content = content.lower().replace(' ', '').replace('\n', '').replace('\r', '').replace('\t', '')
for c in ',。!?;:“”‘’()《》【】':
content = content.replace(c, '')
# 将文本内容按照“人物名”进行分割
words = content.split('人物名')
# 统计每个人物出现的次数
count = {}
for word in words:
if word:
if word in count:
count[word] += 1
else:
count[word] = 1
# 按照出现次数从大到小排序
result = sorted(count.items(), key=lambda x: x[1], reverse=True)
# 输出前10个出现次数最多的人物
for i in range(10):
print(result[i])
```
注意:需要将代码中的“西游记.txt”替换为实际的文本文件路径。
python统计西游记主要人物出场次数(使用jieba分词)
为了统计《西游记》中主要人物的出场次数,可以使用Python的jieba分词库来实现。首先,需要将《西游记》的文本数据加载到Python中。然后,使用jieba分词库对文本进行分词处理。
首先,我们需要下载并安装jieba分词库。可以使用以下命令安装:
```
pip install jieba
```
接下来,导入jieba库,并加载《西游记》的文本数据:
```python
import jieba
# 加载《西游记》的文本数据
with open('xiyouji.txt', 'r', encoding='utf-8') as f:
text = f.read()
```
然后,使用jieba进行分词。为了去除一些停用词(如标点符号、连词等),可以加载自定义的停用词列表,并设置为jieba的停用词表:
```python
# 加载停用词表
stopwords = [',', '。', '、', '的', '了', '和', '是', '在', '他', '她', '他们', '我们']
# 设置jieba的停用词表
jieba.set_stop_words(stopwords)
# 使用jieba进行分词
words = jieba.lcut(text)
```
接下来,统计主要人物出现的次数。我们可以创建一个字典来保存每个人物的出现次数,并遍历分词结果进行统计:
```python
# 创建一个字典保存人物出现次数
character_count = {}
# 遍历分词结果统计人物出现次数
for word in words:
if word in character_count:
character_count[word] += 1
else:
character_count[word] = 1
```
最后,根据人物出现次数进行排序,并输出统计结果:
```python
# 根据人物出现次数进行排序
sorted_character_count = sorted(character_count.items(), key=lambda x: x[1], reverse=True)
# 输出主要人物及其出现次数
for character, count in sorted_character_count[:10]:
print(character, count)
```
以上就是使用jieba分词库统计《西游记》中主要人物出场次数的方法。
阅读全文