Python可以帮忙写作业?jieba专题——统计词频

我的第一篇文章是在3·8做一张贺卡,其中代码用了jieba来分词,而今天,我们将继续用Python的jieba库来制作使用工具。

先看这道题目,这是语文练习册上的阅读理解题,这道题就是我们今天要解决的题,题目让我们找出短文中的哪个词语的出现次数最多。大部分人都会选择在文章中统计,但这种方法对于段文章有效,长的文章……用这种方法费时费力。这时,Python可以帮到我们。

先看代码:

import jieba
f = open('word.txt', 'r', encoding='utf-8')#word.txt是文件名,如果文件名字不一样,请在单引号内更改
txt = f.read()
words = jieba.lcut(txt)
f.close()

counts = {}
for w in words:
    if len(w) > 1:
        c = counts.get(w, 0)
        counts[w] = c + 1
#遍历字典counts, 逐行输出:词语 次数
for l in counts:
    print(l,counts[l])

首先你要在代码的源文件的同一个目录中建立一个.txt文件,用Windows的记事本即可,同样,名字取号,编码是UTF-8。而txt的内容就是你要的文章。

这时候运行代码,给出的结果是jieba所分的词的每个词的数量,只要找到后面数字最大的词就可以了。

这道题完成了,但是如果“我”想让代码直接出示最多数量的词,该怎么办?

以下代码能帮到你:

import jieba
f = open('word.txt', 'r', encoding='utf-8')
txt = f.read()
words = jieba.lcut(txt)
f.close()

counts = {}
for w in words:
    if len(w) > 1:  
        c = counts.get(w, 0)
        counts[w] = c + 1
mxa = 0
name = ""
for i in counts:
    if counts[i] > mxa:
        mxa = counts[i]
        name = i
print(name,mxa)

这个代码用了一个变量max,可以把每个词语的出现次数进行统计,最多的那个词就是name,次数就是max。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值