Part1 Download Path
hamlet小说下载路径:https://python123.io/resources/pye/hamlet.txt
Part2 Code
#10.1CalHamlet.py
def getText():
txt = open("hamlet.txt","r").read()
#将文本中的英文字母全部转为小写字母
txt = txt.lower()
return txt
hamletTxt = getText()
words = hamletTxt.split()
#定义字典类型来存储文字和文字出现的次数
counts = {}
for word in words:
counts[word] = counts.get(word,0) + 1
#将字典转换为记录列表
items = list(counts.items())
#根据items的第二个值进行降序排列
items.sort(key=lambda x:x[1],reverse= True)
for i in range(10):
word,count = items[i]
#左对齐,占位10位;右对齐,占位5位,填充字符为空格
print("{0:<10}{1:>5}".format(word,count))
注意:
1、打开hamlet.txt时要在前面加上具体存储的路径;
2、字典类型的counts.get(word,0) 方法表示:如果word在counts中,则返回word对应的值,如果word不在counts中,则返回0.
counts[word] = counts.get(word,0) + 1等价于:
if word incounts:
counts[word] = counts[word] + 1
else:
counts[word] = 1
Part3 The Result
the 70
and 55
of 47
to 37
our 24
it 23
bernardo 22
this 22
in 22
horatio 20