一、文本词汇统计
百度一下哈姆雷特的台词:
将台词复制到新建文本文件中,将文件另存为:
hamlet.txt
实现代码如下:
def getText():#定义函数getText
txt=open("hamle.md.txt","r").read()#传入文件hamle.md.txt,并设置为只读模式
txt=txt.lower()#将文本全部转为小写
for ch in '"#$%&()*+,-./:;<=>?@[\\]^_‘’{|}~':
txt=txt.replace(ch," ")#将文本中特殊的字符转换为空格
return txt#返回文本文件
hamletTxt=getText()#定义变量hamletTxt,调用函数getText
words=hamletTxt.split()#将文本切片
counts={}#定义一个字典类型,记录单词次数
for words in words:#遍历文本中的词语
counts[words]=counts.get(words,0)+1#统计单词出现的次数,并在出现新词时在字典中新建键值对,counts.get(words,0)表示如果word在counts中,则返回word相应的值,如果word不在counts中,则返回0
items=list(counts.items())#将字典转换为记录列表,因为字典类型没有顺序
items.sort(key=lambda x:x[1],reverse=True)#使用sort函数对词语出现的次数进行排序,使用匿名函数lambda提取列表中的第二列
for i in range(10):#输出前十个高频词语
word,count&