Python实现统计单词出现的个数


Posted in Python onMay 28, 2015

最近在看python脚本语言,脚本语言是一种解释性的语言,不需要编译,可以直接用,由解释器来负责解释。python语言很强大,而且写起来很简洁。下面的一个例子就是用python统计单词出现的个数。

import sys
import string
#import collections

if len(sys.argv) == 1 or sys.argv[1] in {"-h", "--help"}:
 print("usage: uniqueword filename_1 filename_2 ... filename_n")
 sys.exit()
else:
 words = {} 
 # words = collections.defaultdict(int)
 strip = string.whitespace + string.punctuation + string.digits + "\"'"
 for filename in sys.argv[1:]:
 for line in open(filename):
  for word in line.split():
  word = word.strip(strip)
  if len(word) >= 2:
   words[word] = words.get(word, 0) + 1
   # words[word] += 1
 for word in sorted(words):
 print("'{0}' occurs {1} times".format(word,words[word]))

假设文件名是 uniqueword.py,在命令行下输入: uniqueword.py filename_1 filename_2 ... filename_n中单词出现的次数可以被统计出来。
 
第四行和第五行判断是否有输入参数,如果输入参数为空或者为-h, -help,则输出帮助信息。

从第七行到第14行是核心部分,逐一打开参数中指定的文件,并读取每一行,再用字符串的split方法把读取的行抽取出一个一个的单词,但单词长度大于2的时候,把此单词加入到字典words中。 其中words.get(word, 0)的意思是取出key等于word的value,如果key为空,则把value置为默认值0. 最后打印出结果。

Python 相关文章推荐
python实现sublime3的less编译插件示例
Apr 27 Python
NumPy 如何生成多维数组的方法
Feb 05 Python
基于python进行桶排序与基数排序的总结
May 29 Python
python使用插值法画出平滑曲线
Dec 15 Python
Python通用循环的构造方法实例分析
Dec 19 Python
python实现最大优先队列
Aug 29 Python
python主线程与子线程的结束顺序实例解析
Dec 17 Python
pycharm通过anaconda安装pyqt5的教程
Mar 24 Python
Jupyter Notebook的连接密码 token查询方式
Apr 21 Python
python使用matplotlib绘制折线图的示例代码
Sep 22 Python
Python爬虫模拟登陆哔哩哔哩(bilibili)并突破点选验证码功能
Dec 21 Python
Python 中面向接口编程
May 20 Python
Python下载懒人图库JavaScript特效
May 28 #Python
Python实现给qq邮箱发送邮件的方法
May 28 #Python
Python import用法以及与from...import的区别
May 28 #Python
Python中使用不同编码读写txt文件详解
May 28 #Python
Python实现统计英文单词个数及字符串分割代码
May 28 #Python
python处理大数字的方法
May 27 #Python
python类继承用法实例分析
May 27 #Python
You might like
PHP页面间传递参数实例代码
2008/06/05 PHP
php模拟asp中的XmlHttpRequest实现http请求的代码
2011/03/24 PHP
php 调用ffmpeg获取视频信息的简单实现
2017/04/03 PHP
Laravel框架运行出错提示RuntimeException No application encryption key has been specified.解决方法
2019/04/02 PHP
javascript 类方法定义还是有点区别
2009/04/15 Javascript
JavaScript让IE浏览器event对象符合W3C DOM标准
2009/11/24 Javascript
Extjs中使用extend(js继承) 的代码
2012/03/15 Javascript
JS鼠标滑过图片时切换图片实现思路
2013/09/12 Javascript
javascript实现全角与半角字符的转换
2015/01/07 Javascript
JS判断是否360安全浏览器极速内核的方法
2015/01/29 Javascript
vue.js入门教程之计算属性
2016/09/01 Javascript
vue单页应用加百度统计代码(亲测有效)
2018/01/31 Javascript
微信小程序实现拖拽功能
2019/09/26 Javascript
layui的数据表格+springmvc实现搜索功能的例子
2019/09/28 Javascript
解决vue.js提交数组时出现数组下标的问题
2019/11/05 Javascript
jQuery模仿ToDoList实现简单的待办事项列表
2019/12/30 jQuery
python实现的udp协议Server和Client代码实例
2014/06/04 Python
matplotlib绘图实例演示标记路径
2018/01/23 Python
使用Python实现租车计费系统的两种方法
2018/09/29 Python
Python向excel中写入数据的方法
2019/05/05 Python
解决python-docx打包之后找不到default.docx的问题
2020/02/13 Python
python 两种方法修改文件的创建时间、修改时间、访问时间
2020/09/26 Python
详解H5本地储存Web Storage
2017/07/03 HTML / CSS
html5的画布canvas——画出弧线、旋转的图形实例代码+效果图
2013/06/09 HTML / CSS
html5实现微信打飞机游戏
2014/03/27 HTML / CSS
用HTML5实现鼠标滚轮事件放大缩小图片的功能
2015/06/25 HTML / CSS
GoPro摄像机美国官网:美国运动相机厂商
2018/07/03 全球购物
爱奇艺VIP会员:大剧抢先看
2018/07/11 全球购物
国贸专业的职业规划书
2014/03/15 职场文书
学习朴航瑛老师爱岗敬业先进事迹思想汇报
2014/09/17 职场文书
2014年财政工作总结
2014/12/10 职场文书
实施意见格式范本
2015/06/05 职场文书
详解python的内存分配机制
2021/05/10 Python
tensorboard 可视化之localhost:6006不显示的解决方案
2021/05/22 Python
python文本处理的方案(结巴分词并去除符号)
2021/05/26 Python
基于PyQT5制作一个桌面摸鱼工具
2022/02/15 Python