第四次作业

本文介绍了如何使用Python进行文本预处理,包括去除特殊符号、提取单词并统计词频,同时展示了英文小说与《红楼梦》的词频分析过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.英文小说

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

结果:

 

转载于:https://www.cnblogs.com/zhanyuki/p/9722089.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值