从云南大学校园网上下载一段关于云南大学的介绍文本,将文本保存在名称为“云南大学.txt”文本文件中,注意保存时文件编码要选“UTF-8”。编写程序完成对“云南大学.txt”文件中词汇的出现次数的统计,要求将长度为1的词去掉,并去掉'高校','大学'两个词,按各词出现次数从高到低排序后输出前20项。
7条回答 默认 最新
- 语言-逆行者 2023-06-05 23:26关注
jieba实现,应该符合你的要求:
import jieba from collections import Counter # 打开文件 with open('云南大学.txt', 'r', encoding='utf-8') as f: # 读取文件内容为字符串 text = f.read() # 对文本进行分词并去除长度为1的词和'高校'、'大学'两个词 words = [] for word in jieba.cut(text): if len(word) > 1 and word not in ('高校', '大学'): words.append(word) # 统计词频并排序 word_counts = Counter(words) sorted_word_counts = sorted(word_counts.items(), key=lambda x: x[1], reverse=True) # 输出前20项 for word, count in sorted_word_counts[:20]: print(f'{word}: {count}')
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 3无用
悬赏问题
- ¥15 MATLAB怎么通过柱坐标变换画开口是圆形的旋转抛物面?
- ¥15 寻一个支付宝扫码远程授权登录的软件助手app
- ¥15 解riccati方程组
- ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
- ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
- ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
- ¥50 树莓派安卓APK系统签名
- ¥65 汇编语言除法溢出问题
- ¥15 Visual Studio问题
- ¥20 求一个html代码,有偿