这是"实例"题,与课上讲解实例相同,请作答检验学习效果。
文本词频统计::一篇文章,出现了哪些词?哪些词出现的最多?
英文文本:hamlet.txt,参考附件
请统计hamlet.txt文件中出现的英文单词情况,统计并输出出现最多的10个单词,注意:
(1) 单词不区分大小写,即单词的大小写或组合形式一样;
(2) 请在文本中剔除如下特殊符号:!"#$%&()*+,-./:;<=>?@[\]^_‘{|}~
(3) 输出10个单词,每个单词一行;
(4) 输出单词为小写形式。
输出格式:以下仅是输出样例(仅列出3个,需要列出10个),不是最终结果:
输入示例1
the
hamlet
be
def getText():
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
items = list(counts.items())
items.sort(key = lambda x:x[1],reverse = True)
for i in range(10):
word,count= items[i]
print("{}".format(word))
附上文件:
链接: https://pan.baidu.com/s/1iQIP8hH31G_MAKLM7BMOpw 提取码: 82k8