def getText(): #赋予txt哈姆雷特小说-全英文小写-全符号变空格-返回txt txt = open('hamlet.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#get不到word就创建word为下标的值0+1,如果get到了就在word的值上加1,然后更新字典 items = list(counts.items())#字典的键值对变成列表 items.sort(key=lambda x:x[1],reverse=True)#以出现次数为标准排列,从大到小 for i in range(10): word,count = items[i] print('{0:<10},{1:>5}'.format(word,count))