python三国演义人物 统计分析_python统计三国演义人物出场次数

[Python] 纯文本查看 复制代码import jieba

excludes = {"将军", "却说", "荆州", "二人", "不可", "不能", "如此", "商议", "如何", "主公",

"军士", "左右", "军马", "引兵", "次日", "大喜", "天下", "东吴", "于是", "今日",

"不敢", "魏兵","人马", "陛下", "一人", "不知", "汉中", "只见", "众将"} #排除

txt = open("三国演义.txt", "r", encoding="utf-8").read()

words = jieba.lcut(txt)

counts = {}

for word in words:

if len(word) == 1:

continue

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

rword = "孔明"

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

rword = "关羽"

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

rword = "刘备"

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

rword = "曹操"

elif word == "公瑾" or word == "周都督":

rword = "周瑜"

else:

rword = word

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

#如果word在counts中,返回word对应的值,否则返回0

for word in excludes:

del(counts[word])

items = list(counts.items())

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

fo = open("三国人物出场次数.txt", "a")

for i in range(10):

word, count=items[i]

word = str(word)

count = str(count)

fo.write(word)

fo.write(' ')

fo.write(count)

fo.write('\n')

print (word, count)

fo.close()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值