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 Mysql自动备份脚本
Jul 14 Python
python连接oracle数据库实例
Oct 17 Python
简单的连接MySQL与Python的Bottle框架的方法
Apr 30 Python
Python队列的定义与使用方法示例
Jun 24 Python
Python编程二分法实现冒泡算法+快速排序代码示例
Jan 15 Python
Python可变参数*args和**kwargs用法实例小结
Apr 27 Python
Python中几种属性访问的区别与用法详解
Oct 10 Python
Python中logging.NullHandler 的使用教程
Nov 29 Python
python实现kmp算法的实例代码
Apr 03 Python
使用keras实现孪生网络中的权值共享教程
Jun 11 Python
Pytest实现setup和teardown的详细使用详解
Apr 17 Python
Django利用AJAX技术实现博文实时搜索
May 06 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
为php4加入动态flash文件的生成的支持
2006/10/09 PHP
利用PHP扩展vld查看PHP opcode操作步骤
2013/03/04 PHP
php中stream(流)的用法
2014/03/25 PHP
CodeIgniter集成smarty的方法详解
2016/05/26 PHP
laravel 解决paginate查询多个字段报错的问题
2019/10/22 PHP
Jquery Ajax请求代码(2)
2011/01/07 Javascript
jQuery调用AJAX时Get和post公用的乱码解决方法实例说明
2013/06/04 Javascript
JavaScript数组和循环详解
2015/04/27 Javascript
jquery validate demo 基础
2015/10/29 Javascript
JavaScript的Number对象的toString()方法
2015/12/18 Javascript
关于Iframe父页面与子页面之间的相互调用
2016/11/22 Javascript
Jquery Easyui验证组件ValidateBox使用详解(20)
2016/12/18 Javascript
微信小程序 数据交互与渲染实例详解
2017/01/21 Javascript
AngularJS 限定$scope的范围实例详解
2017/06/23 Javascript
VUE长按事件需求详解
2017/10/18 Javascript
javascript实现Emrips反质数枚举的示例代码
2017/12/06 Javascript
微信小程序js文件改变参数并在视图上及时更新【推荐】
2018/06/11 Javascript
在小程序中使用Echart图表的示例代码
2018/08/02 Javascript
详解JavaScript中的强制类型转换
2019/04/15 Javascript
Python os模块介绍
2014/11/30 Python
Python兔子毒药问题实例分析
2015/03/05 Python
Numpy掩码式数组详解
2018/04/17 Python
python 递归深度优先搜索与广度优先搜索算法模拟实现
2018/10/22 Python
python生成每日报表数据(Excel)并邮件发送的实例
2019/02/03 Python
使用Django xadmin 实现修改时间选择器为不可输入状态
2020/03/30 Python
利用python生成照片墙的示例代码
2020/04/09 Python
PyQt5结合matplotlib绘图的实现示例
2020/09/15 Python
HTML5 embed 标签使用方法介绍
2013/08/13 HTML / CSS
定制别致的瑜伽垫:Sugarmat
2019/06/21 全球购物
德国滑雪和户外用品网上商店:XSPO
2019/10/30 全球购物
事业单位工作人员年度考核个人总结
2015/02/12 职场文书
有关骆驼祥子的读书笔记
2015/06/26 职场文书
2016个人先进事迹材料范文
2016/03/01 职场文书
详解JAVA中的OPTIONAL
2021/06/14 Java/Android
使用python绘制分组对比柱状图
2022/04/21 Python
python数字图像处理之对比度与亮度调整示例
2022/06/28 Python