本站消息

  出租广告位,需要合作请联系站长

  今日名言-想象你自己对困难作出的反应,不是逃避或绕开它们,而是面对它们,同它们打交道,以一种进取的和明智的方式同它们奋斗 。——马克斯威尔·马尔兹

  今日名言-用谅解、宽恕的目光和心理看人、待人。人就会觉得葱笼的世界里,春意盎然,到处充满温暖。——蔡文甫


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

Python统计单词出现的频率

发布于2021-07-25 06:52     阅读(526)     评论(0)     点赞(15)     收藏(2)


以open函数打开“sample.txt”文件,统计里面出现过的单词频率。

首先通过“正则表达式”把非字母的符号全部变成空格,再用split()方法把所有的单词以“空格”为分隔符分割,储存在words变量中(list类型)。声明一个dict类型的变量word_counts,以单词作为key值,单词出现的次数作为value值。然后用“in”来判断单词是否存在word_counts中,若存在,则单词对应的value值加一,如果不存在,就新增一个key值,并把对应的value值初始化为1。

此程序中为了避免大小写造成的对比问题,把所有的单词都变成小写统计。

  1. # -*- encoding:utf-8 -*-
  2. import re
  3. fp = open("sample.txt","r")
  4. article = fp.read()
  5. new_article = re.sub(r'[^A-Za-z]', ' ', article) #使用正则表达式把除了字母和空格以外的符号都去除
  6. words = new_article.split( )
  7. word_counts = {}
  8. for word in words:
  9. if word.lower() in word_counts:
  10. word_counts[word.lower()] = word_counts[word.lower()] + 1
  11. else:
  12. word_counts[word.lower()] = 1
  13. key_list = list(word_counts.keys())
  14. key_list.sort()
  15. for key in key_list:
  16. if word_counts[key] >= 1:
  17. print("{}:{}".format(key,word_counts[key]))

原文链接:https://blog.csdn.net/m0_55746228/article/details/119026521



所属网站分类: 技术文章 > 博客

作者:火腿快跑

链接:http://www.pythonpdf.com/blog/article/455/3834de586479f5d86b58/

来源:编程知识网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

15 0
收藏该文
已收藏

评论内容:(最多支持255个字符)