分析:
1. 讀取小說,以讀的形式打開
with open('文件名.txt','r',encoding='utf8') as f: str = f.read()
2. 切割小說
ret = jieba.lcut(str)
3. 統計所有詞語出現次數 --> 准備一個字典
dic = {} for word in ret: if len(word) == 1: # 去掉名字為一個字的 continue dic[word] = dic.get(word, 0) + 1
准備一個多余稱呼的列表
excluedes = ["諸葛亮","卧龍","玄德","關公","丞相",...]
如果文中某個人物有多個稱呼時,應將多個稱呼疊加到某一個稱呼上,再將多余的刪除
dic['關羽'] = dic['關羽'] + dic['美髯公'] + dic['關公'] + dic['關雲長'] + dic['雲長'] for i in excluedes: del dic[i]
4. 對字典進行排序,升序
lis = list(dic.items()) lis.sort(key=lambda x:x[1],reverse=True)
5. 取出出現次數前十的數據
for i in range(10): print(lis[i][0])