问题:载入文档,统计字频并排序。
引申:如果需要统计中文词频,首先需要进行中文分词,可以通过结巴分词包来做简单的中文分词,然后去统计词频。
方法一:字典方法。将字作为字典的键,字频作为字典的值。在录入字时首先判断是否存在于字典键中,如果已存在,更改字典的值,如果不存在,将新的字作为键,值设为1。最后根据键值排序。
#字典方法统计字频
dic = {}
path = r'test.txt'
f = open(path,'r')
f.close
for i in f.readlines():
for j in i:
if j in dic.keys():
dic[j] += 1
else:
if j == ' ' or j == '\n':
continue
else:
dic[j]=1
dic = sorted(dic.items(), key=lambda d:d[1], reverse = True)
for k in range(len(dic)):
print dic[k][0],dic[k][1]
方法二:数组方法。原理同上,添加了读取文档,保存到文档。
path = r'C:/Users/Desktop/test.txt'
f &