使用python统计人物出现的次数
时间: 2023-11-15 08:05:17 浏览: 181
Python-[jieba库应用]-统计水浒传中人物出现次数
5星 · 资源好评率100%
下面是一个示例代码,可以用来统计《红楼梦》中出现的人物及其出现次数:
```python
import re
# 读取文本文件
with open('hongloumeng.txt', 'r', encoding='utf-8') as f:
text = f.read()
# 使用正则表达式匹配人名
pattern = r'[\u4e00-\u9fa5]{2,4}(?![\u4e00-\u9fa5])'
names = re.findall(pattern, text)
# 统计出现次数
name_count = {}
for name in names:
if name in name_count:
name_count[name] += 1
else:
name_count[name] = 1
# 按出现次数排序
sorted_name_count = sorted(name_count.items(), key=lambda x: x[1], reverse=True)
# 输出结果
for name, count in sorted_name_count:
print(name, count)
```
说明:
1. 首先使用 `open()` 函数打开文本文件,并使用 `read()` 方法读取文件内容,保存在变量 `text` 中。
2. 使用正则表达式 `pattern` 匹配文本中的人名,并使用 `findall()` 方法将所有匹配结果保存在列表 `names` 中。
3. 使用字典 `name_count` 统计每个人名出现的次数。
4. 使用内置函数 `sorted()` 对字典 `name_count` 进行按值排序,并保存结果在列表 `sorted_name_count` 中。
5. 使用 `for` 循环遍历列表 `sorted_name_count`,输出每个人名及其出现次数。
阅读全文