当前位置:   article > 正文

Python可以帮忙写作业?jieba专题——统计词频_编写一程序,统计一段文字中(或一篇文章中)每个词出现的次数。 使用扩展库jieba中

编写一程序,统计一段文字中(或一篇文章中)每个词出现的次数。 使用扩展库jieba中

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

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

先看代码:

  1. import jieba
  2. f = open('word.txt', 'r', encoding='utf-8')#word.txt是文件名,如果文件名字不一样,请在单引号内更改
  3. txt = f.read()
  4. words = jieba.lcut(txt)
  5. f.close()
  6. counts = {}
  7. for w in words:
  8. if len(w) > 1:
  9. c = counts.get(w, 0)
  10. counts[w] = c + 1
  11. #遍历字典counts, 逐行输出:词语 次数
  12. for l in counts:
  13. print(l,counts[l])

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

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

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

以下代码能帮到你:

  1. import jieba
  2. f = open('word.txt', 'r', encoding='utf-8')
  3. txt = f.read()
  4. words = jieba.lcut(txt)
  5. f.close()
  6. counts = {}
  7. for w in words:
  8. if len(w) > 1:
  9. c = counts.get(w, 0)
  10. counts[w] = c + 1
  11. mxa = 0
  12. name = ""
  13. for i in counts:
  14. if counts[i] > mxa:
  15. mxa = counts[i]
  16. name = i
  17. print(name,mxa)

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/337637
推荐阅读
相关标签
  

闽ICP备14008679号