Python第三次作业:读取文本文件中出现频次最高的词语

文章讲述了如何利用Python的collections库中的Counter模块来统计文本文件中单词的出现频率。通过对words.txt文件的内容处理,作者展示了如何简化代码,避免循环,直接计算最高频次的词语。最终,通过most_common()函数获取并输出出现次数最多的词语及其频次。

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

最近python结束了基础语法的学习,进入了数据分析

老师布置了一道题(上机课美美翘了,在机房写不如在寝室写)

输出文本文件中出现频次最高的词语
文件是words.txt
内容为:
to be or not to be
to be or not to be to be or not to be
not be to be to be

反正这个方法很流氓...

我这里先是导入了Counter,直接计数,根本用不着那些循环...

from collections import Counter

然后呢就是导入文件,导入文件上网都能搜得到

接下来就直接统计词频了

# 词频统计
word_list = text.split()
word_count = Counter(word_list)

split是什么?通过对指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串

split() 方法语法:

str.split(str="", num=string.count(str)).
  • str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
  • num -- 分割次数。默认为 -1, 即分隔所有。

然后就直接统计了


# 找出出现频次最高的词语
most_common_word, count = word_count.most_common(1)[0]

# 输出结果
print(f"出现最多的词语是 `{most_common_word}`,出现了{count}次。")

word_count.most_common(1)是返回 word_count 这个Counter对象中出现频率最高的一个元素以及它的计数为一个元组类型的列表,指定参数 1 表示我们只获取一个元素,即出现频率最高的元素。返回的这个列表中,包含一个元素,这个元素是一个元组,元组的第一个元素是出现次数最多的词语,第二个元素是这个词语出现的次数。

[0]则是取出这个出现次数最多的词语和它的出现次数组成的元组,这么做的原因是,即使我们 most_common() 只获取了一个元素,结果仍然是一个列表,我们需要从这个列表中取出唯一的元素,因为 most_common() 有可能返回多个元素。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值