python三国演义人物 统计分析_Python统计三国演义主要人物出场次数

import jieba

#读取三国演义

with open("三国演义.txt",'r',encoding='utf-8') as f:

txt= f.read()

#进行中文分词

words=jieba.lcut(txt)

#利用停用词表剔除语气词等等

afterw=[]

with open("tingyongcibiao.txt",'r',encoding='utf-8') as fp:

tycb=fp.read()#字符串

tylist=tycb.split('\n')

ex=["将军","却说","二人","荆州","商议","主公","军士","军马","引兵","次日","大喜","天下","东吴","今日","魏兵","都督","人马"]

tylist+=ex

for word in words:

if word not in tylist:

afterw.append(word)

#主要人物出场人物次数统计

count={}

for word in afterw:

if len(word)==1:#长度为1,应该不是人物名

continue

elif word=="诸葛亮"or word=="孔明曰":

rword="孔明"

elif word=="玄德"or word=="玄德曰":

rword="刘备"

elif word=="关公"or word=="云长":

rword="关羽"

elif word=="孟德" or word=="丞相":

rword="曹操"

elif word=="子龙":

rword="赵云"

else:

rword=word

count[rword]=count.get(rword,0)+1

items=list(count.items())

items.sort(key=lambda x:x[1],reverse=True)

for i in range(10):

name,count=items[i]

print("{:<10}:{:>5}".format(name,count))

输出结果

曹操        : 1380

孔明        : 1353

刘备        : 1196

关羽        :  776

张飞        :  341

赵云        :  286

孙权        :  261

吕布        :  258

司马懿      :  221

周瑜        :  217

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值