1. 程式人生 > >【Python】三國演義詞頻統計

【Python】三國演義詞頻統計

RM pre excludes 孔明 use {} HR form PE

import jieba
txt = open(‘C:/Users/eternal/Desktop/threekingdoms.txt‘,‘r‘,encoding=‘UTF-8‘).read()  #提前修改txt文件編碼格式utf-8
excludes = {‘將軍‘,‘卻說‘,‘荊州‘,‘二人‘,‘不可‘,‘不能‘,‘如此‘}  #錯誤的名字
words = jieba.lcut(txt)
print(words)
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)
print(items)
for i in range(10):
word,count = items[i]
print(‘{0:<10}{1:>5}‘.format(word,count))

【Python】三國演義詞頻統計