#CalWordNum.py
def GetTxt():
txt=open("hamlet.txt",'r').read()
txt=txt.lower()
for ch in "!'#$%&()*+,-./:'<=>?@[\\]^-‘{|}~": #将特殊符号替换为空格
txt=txt.replace(ch," ")
return txt
hamlet=GetTxt()
words=hamlet.split() #split返回列表类型
count={} #创建字典
for word in words:
count[word]=count.get(word,0)+1
items=list(count.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))
the 1143
and 966
to 762
of 669
i 629
a 546
you 544
my 514
hamlet 467
in 451
Hamlet.txt全文下载:https://python123.io/resources/pye/hamlet.txt