jieba分词

发布时间 2023-12-17 14:35:47作者: lin_1
import jieba

with open('红楼梦.txt','r',encoding='utf-8')as f: # 打开文件
    txt = f.read() # 读取为txt
    words = jieba.lcut(txt) # 利用jieba库的lcut分词
    counts={} # 创建字典
    for word in words: # 逐个遍历
        if len(word) == 1: # 若是当前词语只出现一次,不符合题目的要求,跳过
            continue
        else:
            #  创建字典,对应的值会进行累加
            counts[word]=counts.get(word,0)+1 # 此时词语出现次数累加 ,对每一个键对应的值
list = list(counts.items()) # 字典中items()方法见下 ,函数返回列表类型,列表里面每一个元素是一个(键, 值) 元组数组。
# 从大到小进行排列 ,key对应的值为字典的[1]索引 = value,此时列表里面每一个元素是一个元组的形式
list.sort(key=lambda x:x[1],reverse=True)
for i in range(20):
    print("红楼梦出现第{}多的词语是{},出现的次数为{}".format(i+1,list[i][0],list[i][1]))