python 利用jieba库词频统计

本文介绍了一个使用jieba分词工具对《三国志》文本进行处理的方法,并统计了主要人物如诸葛亮、关羽等的出现频率。通过对文本进行预处理、分词和计数,最终得到了出场人物排名。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 1 #统计《三国志》里人物的出现次数
 2 
 3 import jieba
 4 text = open('threekingdoms.txt','r',encoding='utf-8').read()
 5 excludes = {'将军','却说','二人','不能','如此','荆州','不可','商议','如何','军士','左右','主公','引兵','次日','大喜','军马',
 6 '天下','东吴','于是'}
 7 #返回列表类型的分词结果
 8 words = jieba.lcut(text)
 9 #通过字典映射,统计次数
10 counts = {}
11 for word in words:
12     if len(word) == 1:
13         continue
14     elif word == '孔明曰' or word == '孔明':
15         rword = '诸葛亮'
16     elif word == '关公' or word == '云长':
17         rword = '关羽'
18     elif word == '玄德' or word == '玄德曰':
19         rword = '刘备'
20     elif word == '孟德' or word == '丞相':
21         rword = '曹操'
22     else:
23         rword = word
24     counts[rword] = counts.get(rword,0) + 1
25 for word in excludes:
26     del counts[word]
27 items = list(counts.items())
28 #排序,从大到小
29 items.sort(key=lambda x:x[1],reverse=True)
30 for i in range(5):
31     word,count = items[i]
32     print('{0:<10}{1:>5}'.format(word,count))

 

转载于:https://www.cnblogs.com/sineik/p/9302218.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值