python统计文章中单词出现次数实例


Posted in Python onFebruary 27, 2020

python统计单词出现次数

做单词词频统计,用字典无疑是最合适的数据类型,单词作为字典的key, 单词出现的次数作为字典的 value,很方便地就记录好了每个单词的频率,字典很像我们的电话本,每个名字关联一个电话号码。

下面是具体的实现代码,实现了从importthis.txt文件读取单词,并统计出现次数最多的5个单词。

# -*- coding:utf-8 -*-
import io
import re
 
class Counter:
  def __init__(self, path):
    """
    :param path: 文件路径
    """
    self.mapping = dict()
    with io.open(path, encoding="utf-8") as f:
      data = f.read()
      words = [s.lower() for s in re.findall("\w+", data)]
      for word in words:
        self.mapping[word] = self.mapping.get(word, 0) + 1
 
  def most_common(self, n):
    assert n > 0, "n should be large than 0"
    return sorted(self.mapping.items(), key=lambda item: item[1], reverse=True)[:n]
 
if __name__ == '__main__':
  most_common_5 = Counter("importthis.txt").most_common(5)
  for item in most_common_5:
    print(item)

执行效果:

('is', 10)
('better', 8)
('than', 8)
('the', 6)
('to', 5)

知识点补充

1、如何正确读写文件

2、如何对数据进行排序

3、字典数据类型的运用

4、正则表达式的运用

到此这篇关于python统计文章中单词出现次数实例的文章就介绍到这了,更多相关python统计单词出现次数内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python BeautifulSoup中文乱码问题的2种解决方法
Apr 22 Python
Python创建日历实例
Aug 21 Python
利用Python自动监控网站并发送邮件告警的方法
Aug 24 Python
Python实现的爬虫功能代码
Jun 24 Python
python实现简单遗传算法
Mar 19 Python
Python格式化日期时间操作示例
Jun 28 Python
使用Python的Dataframe取两列时间值相差一年的所有行方法
Jul 10 Python
python for 循环获取index索引的方法
Feb 01 Python
python如何解析配置文件并应用到项目中
Jun 27 Python
win8.1安装Python 2.7版环境图文详解
Jul 01 Python
python实现猜拳小游戏
Apr 05 Python
matplotlib绘制鼠标的十字光标的实现(自定义方式,官方实例)
Jan 10 Python
python GUI库图形界面开发之PyQt5打开保存对话框QFileDialog详细使用方法与实例
Feb 27 #Python
python GUI库图形界面开发之PyQt5输入对话框QInputDialog详细使用方法与实例
Feb 27 #Python
python GUI库图形界面开发之PyQt5单行文本框控件QLineEdit详细使用方法与实例
Feb 27 #Python
Python如何使用OS模块调用cmd
Feb 27 #Python
python之生成多层json结构的实现
Feb 27 #Python
Python查找不限层级Json数据中某个key或者value的路径方式
Feb 27 #Python
python GUI库图形界面开发之PyQt5窗口布局控件QStackedWidget详细使用方法
Feb 27 #Python
You might like
PHP SEO优化之URL优化方法
2011/04/21 PHP
mysql 查询指定日期时间内sql语句实现原理与代码
2012/12/16 PHP
邮箱正则表达式实现代码(针对php)
2013/06/21 PHP
golang与PHP输出excel示例
2016/07/22 PHP
php+websocket 实现的聊天室功能详解
2020/05/27 PHP
如何用javascript控制上传文件的大小
2006/10/26 Javascript
syntaxhighlighter 使用方法
2007/07/02 Javascript
jquery $.ajax各个事件执行顺序
2010/10/15 Javascript
Javascript表达式中连续的 && 和 || 之赋值区别
2010/10/17 Javascript
javascript闭包的高级使用方法实例
2013/07/04 Javascript
jquery 简单应用示例总结
2013/08/09 Javascript
textarea 控制输入字符字节数(示例代码)
2013/12/27 Javascript
Angularjs中的页面访问权限怎么设置
2016/11/11 Javascript
浅谈AngularJS中ng-class的使用方法
2016/11/11 Javascript
String字符串截取的四种方式总结
2016/11/28 Javascript
vue 实现 tomato timer(蕃茄钟)实例讲解
2017/07/24 Javascript
js实现关闭网页出现是否离开提示
2017/12/07 Javascript
Layui点击图片弹框预览的实现方法
2019/09/16 Javascript
Python中MYSQLdb出现乱码的解决方法
2014/10/11 Python
使用IronPython把Python脚本集成到.NET程序中的教程
2015/03/31 Python
python在linux系统下获取系统内存使用情况的方法
2015/05/11 Python
Python中的zipfile模块使用详解
2015/06/25 Python
Python之列表的插入&替换修改方法
2018/06/28 Python
解决Pycharm调用Turtle时 窗口一闪而过的问题
2019/02/16 Python
python实现将文件夹内的每张图片批量分割成多张
2019/07/22 Python
python实现简单飞行棋
2020/02/06 Python
深入了解Python装饰器的高级用法
2020/08/13 Python
Weekendesk意大利:探索多种引人入胜的周末主题
2016/10/14 全球购物
在Ajax应用中信息是如何在浏览器和服务器之间传递的
2016/05/31 面试题
CNC数控操作工岗位职责
2013/11/19 职场文书
学生会宣传部部长竞选演讲稿
2014/04/25 职场文书
寝室长工作失责检讨书
2014/10/06 职场文书
2015毕业生实习工作总结
2014/12/12 职场文书
房地产项目合作意向书
2015/05/08 职场文书
在Django中使用MQTT的方法
2021/05/10 Python
js判断两个数组相等的5种方法
2022/05/06 Javascript