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网络编程之文件下载实例分析
May 20 Python
python实现JAVA源代码从ANSI到UTF-8的批量转换方法
Aug 10 Python
在Linux命令行终端中使用python的简单方法(推荐)
Jan 23 Python
Python搜索引擎实现原理和方法
Nov 27 Python
机器学习10大经典算法详解
Dec 07 Python
python爬虫中get和post方法介绍以及cookie作用
Feb 08 Python
python实现一个简单的并查集的示例代码
Mar 19 Python
使用NumPy和pandas对CSV文件进行写操作的实例
Jun 14 Python
python集合的创建、添加及删除操作示例
Oct 08 Python
keras小技巧——获取某一个网络层的输出方式
May 23 Python
解决Keras中CNN输入维度报错问题
Jun 29 Python
python爬取youtube视频的示例代码
Mar 03 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生成静态页面详解
2006/11/19 PHP
php addslashes和mysql_real_escape_string
2010/01/24 PHP
Apache实现Web Server负载均衡详解(不考虑Session版)
2013/07/05 PHP
php数组查找函数in_array()、array_search()、array_key_exists()使用实例
2014/04/29 PHP
WordPress网站性能优化指南
2015/11/18 PHP
PHP删除二维数组中相同元素及数组重复值的方法示例
2017/05/05 PHP
PHP实现的mysql操作类【MySQL与MySQLi方式】
2017/10/07 PHP
Yii框架实现对数据库的CURD操作示例
2019/09/03 PHP
PHP tp5中使用原生sql查询代码实例
2020/10/28 PHP
javascript中利用数组实现的循环队列代码
2010/01/24 Javascript
js DataSet数据源处理代码
2010/03/29 Javascript
jquery实现excel导出的方法
2013/04/04 Javascript
利用NodeJS的子进程(child_process)调用系统命令的方法分享
2013/06/05 NodeJs
jquery属性过滤选择器使用示例
2013/06/18 Javascript
js的alert弹出框出现乱码解决方案
2013/09/02 Javascript
javascript 10进制和62进制的相互转换
2014/07/31 Javascript
javascript基于DOM实现省市级联下拉框的方法
2015/05/14 Javascript
js格式化时间的方法
2015/12/18 Javascript
详解JS面向对象编程
2016/01/24 Javascript
浅谈js中的引用和复制(传值和传址)
2016/09/18 Javascript
浅谈jQuery绑定事件会叠加的解决方法和心得总结
2016/10/26 Javascript
javascript编程开发中取色器及封装$函数用法示例
2017/08/09 Javascript
ionic2屏幕适配实现适配手机、平板等设备的示例代码
2017/08/11 Javascript
vue 解决provide和inject响应的问题
2020/11/12 Javascript
HTML元素拖拽功能实现的完整实例
2020/12/04 Javascript
[35:39]完美世界DOTA2联赛PWL S2 FTD.C vs Rebirth 第二场 11.22
2020/11/24 DOTA
Python基于QRCode实现生成二维码的方法【下载,安装,调用等】
2017/07/11 Python
微信跳一跳python辅助软件思路及图像识别源码解析
2018/01/04 Python
python scipy求解非线性方程的方法(fsolve/root)
2018/11/12 Python
如何在Cloud Studio上执行Python代码?
2019/08/09 Python
Python读写压缩文件的方法
2020/07/30 Python
python爬虫中PhantomJS加载页面的实例方法
2020/11/12 Python
银行员工考核评语
2014/12/31 职场文书
2016年师德先进个人事迹材料
2016/02/29 职场文书
Linux中一对多配置日志服务器的详细步骤
2022/07/23 Servers
win11电脑关机鼠标灯还亮怎么解决? win11关机后鼠标灯还亮解决方法
2023/01/09 数码科技