一.英文小说
#读取文件 fo = open('yw.txt', 'r') str1 = fo.read() fo.close() print(str1) ##预处理特殊符号和标点符号 sep = '.,:'';?!-_' for ch in sep: str1 = str1.replace(ch,'') print(str1) str1 = str1.replace('.', '') print(str1) # 提取单词 list strlist1 = str1.split() print(len(strlist1), strlist1) # 单词计数set集合形式 strSet = set(strlist1) print(len(strSet), strSet) #单词计数dict字典形式 strDict = {} for word in strSet: strDict[word] = strlist1.count(word) print(len(strDict), strDict) #词频排序 Dict = dict(strDict) DList = list(Dict.items()) print(DList) DList.sort(key=lambda x: x[1], reverse=True) print(DList) #排除语法型词汇,冠词、连词等 strSet = set(strSet) exclude = {'a','and','the','i','you'} print(strSet-exclude) #.输出TOP(20) for i in range(20): print(DList[i])
运行结果:
二 .红楼梦小说
#读取文件 fo = open('zw.txt', 'r') str2 = fo.read() fo.close() print(str2) #特殊符号处理 sep = ',。?!;:‘’“”' for sh in sep: str2 = str2.replace(sh,'') print(str2) ##单词计数set集合形式 strSet = set(str2) print(len(strSet),strSet) ##单词计数dict字典形式 strDict={} for word in strSet: strDict[word]=str2.count(word) print(len(strDict),strDict) #把字典转换为列表 List2 = list(strDict.items()) print(List2) #词汇排序 List2.sort(key=lambda x: x[1], reverse=True) print(List2) #.输出TOP(20) for i in range(20): print(List2[i])
结果: