今天介绍一下Python中第三方库-Jieba库的使用
有时候我们是需要对文本中的单词的频率进行统计的
常规的做法
#单词出现频率的统计
#将文本进行处理
def getText():
txt = open("text.txt","r").read() # 打开并读取所有的文件
txt = txt.lower() # 将文本中的所有字母都改成小写
for ch in '!"#$%&()*+,-./:;<=>?@[\\]^_’‘{|}~': # 将文本中的特殊符号都用空格替代
txt = txt.replace(ch," ")
return txt # 返回文章的所有内容
hamletTxt=getText()
words = hamletTxt.split() #默认采用空格将字符串中的信息进行分隔
#定义字典类型
counts = {} # 新建立一个空的字典
for word in words: # 循环遍历所有的单词
counts[word] = counts.get(word,0)+1 # 返回word这个键对应的值,只要是出现的单词都默认值为 1,下次如果再遇到就加一
items = list(counts.items()) # 将字典中的值都放入列表中,这个时候应该是一个元组类型的列表
#对列表大到小排序
items.sort(key=lambda x:x[1],reverse=True) # lambda关键字表示按照后面指定的方式进行排序,这里表示元组中的第二个元素,也就是单词出现的次数
for i in range(20): # 循环的打印出出现频率最高的前20个单词
word,count = items[i]
print("{0:<10}{1