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 相关文章推荐
win7安装python生成随机数代码分享
Dec 27 Python
Python3 正在毁灭 Python的原因分析
Nov 28 Python
python爬取NUS-WIDE数据库图片
Oct 05 Python
用不到50行的Python代码构建最小的区块链
Nov 16 Python
对django 模型 unique together的示例讲解
Aug 06 Python
Python时间差中seconds和total_seconds的区别详解
Dec 26 Python
15行Python代码实现免费发送手机短信推送消息功能
Feb 27 Python
python实现简单学生信息管理系统
Apr 09 Python
Python基于smtplib协议实现发送邮件
Jun 03 Python
MATLAB 如何求取离散点的曲率最大值
Apr 16 Python
Python使用protobuf序列化和反序列化的实现
May 19 Python
python playwrigh框架入门安装使用
Jul 23 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获取表单textarea数据中的换行问题
2010/09/10 PHP
asp 的 分词实现代码
2007/05/24 Javascript
jQuery代码优化之基本事件
2011/11/01 Javascript
如何使用jquery控制CSS样式,并且取消Css样式(如背景色,有实例)
2013/07/09 Javascript
高效率JavaScript编写技巧整理
2013/08/23 Javascript
jQuery取消ajax请求的方法
2015/06/09 Javascript
jquery密码强度校验
2015/12/02 Javascript
教你JS中的运算符乘方、开方及变量格式转换
2016/08/09 Javascript
AngularJS入门教程之双向绑定详解
2016/08/18 Javascript
微信小程序 生命周期和页面的生命周期详细介绍
2017/01/19 Javascript
AngularJS 防止页面闪烁的方法
2017/03/09 Javascript
Node.JS段点续传:Nginx配置文件分段下载功能的实现方法
2018/03/12 Javascript
JS中call和apply函数用法实例分析
2018/06/20 Javascript
Angular服务Request异步请求的实例讲解
2018/08/13 Javascript
微信小程序文字显示换行问题
2019/07/28 Javascript
vue在线动态切换主题色方案
2020/03/26 Javascript
微信小程序实现多行文字滚动
2020/11/18 Javascript
[57:59]EG vs Secret 2018国际邀请赛淘汰赛BO3 第一场 8.22
2018/08/23 DOTA
Django日志模块logging的配置详解
2017/02/14 Python
python爬取m3u8连接的视频
2018/02/28 Python
Django 路由系统URLconf的使用
2018/10/11 Python
Python3 使用cookiejar管理cookie的方法
2018/12/28 Python
python selenium firefox使用详解
2019/02/26 Python
由Python编写的MySQL管理工具代码实例
2019/04/09 Python
python实现扫描ip地址的小程序
2019/04/16 Python
如何使用python操作vmware
2019/07/27 Python
python脚本之一键移动自定格式文件方法实例
2019/09/02 Python
jenkins+python自动化测试持续集成教程
2020/05/12 Python
德国自行车商店:Tretwerk
2019/06/21 全球购物
在C中是否有模拟继承等面向对象程序设计特性的好方法
2012/05/22 面试题
网络工程与软件技术毕业生自荐信
2013/09/24 职场文书
卫校毕业生个人自我鉴定
2014/04/28 职场文书
2016年领导干部正风肃纪心得体会
2015/10/09 职场文书
Linux、ubuntu系统下查看显卡型号、显卡信息详解
2022/04/07 Servers
Go web入门Go pongo2模板引擎
2022/05/20 Golang
oracle设置密码复杂度及设置超时退出的功能
2022/06/28 Oracle