马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 zzong2019 于 2020-3-6 20:02 编辑
@zltzlt 希望实现词频统计人物出场之后对部分不是人名的字符进行过滤和替换操作,过滤功能可以实现,但是替换无法实现,请大神帮忙看看原因出在哪里?另外可否对这段代码给点优化建议,谢谢~~~import jieba
def count_person():
words=jieba.lcut(text)
counts={}
for word in words:
if len(word)==1:
continue
elif word in exclude:
continue
else:
counts[word]=counts.get(word,0)+1
items=list(counts.items())
items.sort(key=lambda x:x[1],reverse=True)
for i in range(10):
word,count=items[i]
print('{0:<10}{1:>5}'.format(word,count))
exclude=[]
text=open('threekingdoms.txt','r',encoding='utf-8').read()
count_person()
while True:
adjust=input('是否需要替换(R/r)或者过滤(E/e)字符操作:')
if adjust in ['R','r']:
old=input('请输入替换掉的字符:')
new=input('请输入修改后的字符:')
text=text.replace(old,new)
elif adjust in ['E','e']:
exclude=list(eval(input('请输入需要过滤的字符,字符间以逗号分隔:')))
else:
break
count_person()
|