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 ElementTree 基本读操作示例
Apr 09 Python
Pyramid Mako模板引入helper对象的步骤方法
Nov 27 Python
Python中声明只包含一个元素的元组数据方法
Aug 25 Python
python开发之文件操作用法实例
Nov 13 Python
Python实现扩展内置类型的方法分析
Oct 16 Python
深入理解Python3 内置函数大全
Nov 23 Python
python实现协同过滤推荐算法完整代码示例
Dec 15 Python
django 通过ajax完成邮箱用户注册、激活账号的方法
Apr 17 Python
Python轻量级web框架bottle使用方法解析
Jun 13 Python
Python中使用Selenium环境安装的方法步骤
Feb 22 Python
python爬虫框架feapde的使用简介
Apr 20 Python
Python Pytorch查询图像的特征从集合或数据库中查找图像
Apr 09 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
检查用户名是否已在mysql中存在的php写法
2014/01/20 PHP
mac os快速切换多个PHP版本的方法
2017/03/07 PHP
基于php伪静态的实现方法解析
2020/07/31 PHP
ExtJS 2.0实用简明教程 之Ext类库简介
2009/04/29 Javascript
javascript 定义新对象方法
2010/02/20 Javascript
jquery 图片轮换效果
2010/07/29 Javascript
为JavaScript类型增加方法的实现代码(增加功能)
2011/12/29 Javascript
jquery简单实现鼠标经过导航条改变背景图
2013/12/17 Javascript
jQuery过滤选择器:not()方法使用介绍
2014/04/20 Javascript
一个JavaScript的求爱小特效
2014/05/09 Javascript
JS实现可关闭的对联广告效果代码
2015/09/14 Javascript
深入解析AngularJS框架中$scope的作用与生命周期
2016/03/05 Javascript
js 单引号替换成双引号,双引号替换成单引号的实现方法
2017/02/16 Javascript
js图片加载效果实例代码(延迟加载+瀑布流加载)
2017/05/12 Javascript
使用 vue.js 构建大型单页应用
2018/02/10 Javascript
Vue实现用户自定义字段显示数据的方法
2018/08/28 Javascript
浅析webpack-bundle-analyzer在vue-cli3中的使用
2019/10/23 Javascript
js实现列表向上无限滚动
2020/01/13 Javascript
vue 检测用户上传图片宽高的方法
2020/02/06 Javascript
Vue 实现一个简单的鼠标拖拽滚动效果插件
2020/12/10 Vue.js
Vite和Vue CLI的优劣
2021/01/30 Vue.js
Python 调用DLL操作抄表机
2009/01/12 Python
Python中实现参数类型检查的简单方法
2015/04/21 Python
python 内置函数filter
2017/06/01 Python
Python程序退出方式小结
2017/12/09 Python
python删除本地夹里重复文件的方法
2020/11/19 Python
HTML5 Canvas绘制圆点虚线实例
2015/01/01 HTML / CSS
使用iframe+postMessage实现页面跨域通信的示例代码
2020/01/14 HTML / CSS
美国高街时尚品牌:OASAP
2016/07/24 全球购物
英国浴室洗脸盆购物网站:Click Basin
2018/06/08 全球购物
交通安全标语
2014/06/06 职场文书
项目经理任命书内容
2014/06/06 职场文书
房屋租赁意向书范本
2015/05/09 职场文书
原生JS实现飞机大战小游戏
2021/06/09 Javascript
详细介绍python操作RabbitMq
2022/04/12 Python
教你如何用cmd快速登录服务器
2022/06/10 Servers