python学习笔记

import jieba
txt = open(“threekingdoms.txt”,“r”,encoding=“utf-8”).read()
excludes={“将军”,“却说”,“荆州”,“二人”,“不可”,“不能”,“如此”}
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=“曹操”
else:
rword=word
counts[rword]=counts.get(rword,0)+1
for word in excludes:
del counts[word]
items=list(counts.items())
items.sort(key=lambda x:x[1],reverse=True) #reverse() 反转列表元素的排列(与字母顺序无关)
#.sort()按字母顺序排序 (永久的)
.sort(reverse=True)按字母倒序排列 (永久的)
sorted(变量)按字母顺序排列 但不改变原有序列顺序
sorted(变量,reverse=True)按字母倒序排列 但不改变原有序列顺序
for i in range(10): #range()函数,可以生成一个整数序列,再通过list()函数可以转换为list。比如range(5)生成的序列是从0开始小于5的整数。
word,count=items[i]
print("{0:<10}{1:>5".format(word,count))
Python 中单行注释使用 #,多行注释使用三个单引号(’’’)或三个双引号(""")
以上代码是用来找出《三国演义》中各个人物出场的次数,但是可以看到代码不是短短的几行,而是比较复杂的。可见编程也不是简单万能的,也需要不断地根据具体研究问题进行更改。它会识别出一些“不是名字的名字”,也会将表示同一个人的两个或者多个名字识别成不同的人,就会出现错误。这时候还是需要人为加入更改。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值