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 相关文章推荐
qpython3 读取安卓lastpass Cookies
Jun 19 Python
Python实现Sqlite将字段当做索引进行查询的方法
Jul 21 Python
用python实现百度翻译的示例代码
Mar 09 Python
python实现监控某个服务 服务崩溃即发送邮件报告
Jun 21 Python
Python读取excel指定列生成指定sql脚本的方法
Nov 28 Python
对Python3 * 和 ** 运算符详解
Feb 16 Python
Python3内置模块之json编解码方法小结【推荐】
Dec 09 Python
python如何调用百度识图api
Sep 29 Python
详解python算法常用技巧与内置库
Oct 17 Python
python产生模拟数据faker库的使用详解
Nov 04 Python
基于Django集成CAS实现流程详解
Nov 28 Python
详解appium自动化测试工具(monitor、uiautomatorviewer)
Jan 27 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/03/27 PHP
PHP中变量引用与变量销毁机制分析
2014/11/15 PHP
24条货真价实的PHP代码优化技巧
2016/07/28 PHP
PHP数组生成XML格式数据的封装类实例
2016/11/10 PHP
IE6与IE7中,innerHTML获取param的区别
2009/03/15 Javascript
JS 毫秒转时间示例代码
2013/09/22 Javascript
javascript实现点击按钮弹出一个可关闭层窗口同时网页背景变灰的方法
2015/05/13 Javascript
js数组如何添加json数据及js数组与json的区别
2015/10/27 Javascript
JavaScript 不支持 indexof 该如何解决
2016/03/30 Javascript
你不需要jQuery(三) 新AJAX方法fetch()
2016/06/14 Javascript
JS实现按钮添加背景音乐示例代码
2017/10/17 Javascript
layui实现点击按钮给table添加一行
2018/08/10 Javascript
vue项目中axios请求网络接口封装的示例代码
2018/12/18 Javascript
VUE搭建手机商城心得和遇到的坑
2019/02/21 Javascript
JS大坑之19位数的Number型精度丢失问题详解
2019/04/22 Javascript
8 个有用的JS技巧(推荐)
2019/07/03 Javascript
解决layui数据表格Date日期格式的回显Object的问题
2019/09/19 Javascript
单线程JavaScript实现异步过程详解
2020/05/19 Javascript
Vue项目开发常见问题和解决方案总结
2020/09/11 Javascript
python启动办公软件进程(word、excel、ppt、以及wps的et、wps、wpp)
2009/04/09 Python
Python实现二维数组输出为图片
2018/04/03 Python
使用tensorflow实现线性svm
2018/09/07 Python
浅谈python写入大量文件的问题
2018/11/09 Python
Python unittest 简单实现参数化的方法
2018/11/30 Python
python导入模块交叉引用的方法
2019/01/19 Python
Python如何应用cx_Oracle获取oracle中的clob字段问题
2019/08/27 Python
保加利亚运动鞋购物网站:SneakerStudio.bg
2020/12/23 全球购物
Linux管理员面试题 Linux admin interview questions
2014/11/01 面试题
劳资人员岗位职责
2013/12/19 职场文书
小学后勤管理制度
2014/01/14 职场文书
致400米运动员广播稿
2014/02/07 职场文书
档案室主任岗位职责
2014/02/12 职场文书
简历中自我评价怎么写
2014/02/12 职场文书
考试作弊检讨书大全
2014/02/18 职场文书
应届生自荐信范文
2014/02/21 职场文书
2015年母亲节寄语
2015/03/23 职场文书