三国演义红人统计python
时间: 2023-07-12 11:40:52 浏览: 53
可以使用Python中的正则表达式和字典来统计三国演义中出现频率较高的人物。以下是一个示例代码:
```python
import re
# 读取三国演义文本
with open("sgyy.txt", "r", encoding="utf-8") as f:
sgyy = f.read()
# 使用正则表达式匹配人名
pattern = re.compile("[\u4e00-\u9fa5]{2,4}(?:·[\u4e00-\u9fa5]{2,4})*")
names = re.findall(pattern, sgyy)
# 统计人名出现频率
name_dict = {}
for name in names:
if name in name_dict:
name_dict[name] += 1
else:
name_dict[name] = 1
# 按出现频率排序
sorted_name_dict = sorted(name_dict.items(), key=lambda x: x[1], reverse=True)
# 输出前十位红人
print("三国演义红人统计:")
for i in range(10):
print(sorted_name_dict[i][0], "出现了", sorted_name_dict[i][1], "次")
```
需要注意的是,这里使用了一个简单的中文人名正则表达式,可能无法完全覆盖所有情况,因此统计结果可能会略有偏差。