python统计红楼梦人物
时间: 2023-06-16 10:05:18 浏览: 755
要统计红楼梦中的人物,我们可以使用Python中的一些文本处理技术,例如自然语言处理和正则表达式。
以下是一个简单的Python脚本,可以从《红楼梦》中提取出人物,并计算每个人物在小说中出现的次数。
```python
import re
# 读取红楼梦文本
with open('红楼梦.txt', 'r', encoding='utf-8') as f:
text = f.read()
# 使用正则表达式提取人名
pattern = re.compile('[\u4e00-\u9fa5]{2,4}(?:·[\u4e00-\u9fa5]{2,4})*')
names = re.findall(pattern, text)
# 统计人名出现次数
name_count = {}
for name in names:
name_count[name] = name_count.get(name, 0) + 1
# 按出现次数排序
sorted_name_count = sorted(name_count.items(), key=lambda x: x[1], reverse=True)
# 输出前20个人名及出现次数
for name, count in sorted_name_count[:20]:
print(name, count)
```
该脚本首先读取红楼梦文本,然后使用正则表达式提取文本中的人名。接着,它使用一个字典来记录每个人名出现的次数,并按照出现次数对人名进行排序。最后,它输出前20个人名及其出现次数。
请注意,这只是一个简单的示例,可能会漏掉一些人名或者将一些非人名的词汇误判为人名,因此结果仅供参考。
阅读全文