第四次作业

一.英文小说

#读取文件
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])

结果:

 

posted @ 2018-09-29 09:49  ZHANYUKI  阅读(154)  评论(0)    收藏  举报