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实现根据ip地址反向查找主机名称的方法
Apr 29 Python
Python运算符重载用法实例分析
Jun 01 Python
python字典键值对的添加和遍历方法
Sep 11 Python
Python实现将不规范的英文名字首字母大写
Nov 15 Python
对pandas中Series的map函数详解
Jul 25 Python
python常用库之NumPy和sklearn入门
Jul 11 Python
Python BeautifulSoup [解决方法] TypeError: list indices must be integers or slices, not str
Aug 07 Python
Pycharm最新激活码2019(推荐)
Dec 31 Python
Python项目跨域问题解决方案
Jun 22 Python
Python+OpenCV检测灯光亮点的实现方法
Nov 02 Python
在Python中字典按值排序的实现方法
Nov 12 Python
termux中matplotlib无法显示中文问题的解决方法
Jan 11 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实现今天是星期几的几种写法
2013/09/26 PHP
php 删除指定文件夹的实例讲解
2017/07/25 PHP
PHP FileSystem 文件系统常用api整理总结
2019/07/12 PHP
关于jquery动态增减控件的一些想法和小插件
2010/08/01 Javascript
jquery链式操作的正确使用方法
2014/01/06 Javascript
jquery对象和javascript对象即DOM对象相互转换
2014/08/07 Javascript
JavaScript中的Math.LN2属性用法详解
2015/06/12 Javascript
jQuery原生的动画效果
2015/07/10 Javascript
javascript设计简单的秒表计时器
2020/09/05 Javascript
最简单的JavaScript图片轮播代码(两种方法)
2015/12/18 Javascript
20分钟成功编写bootstrap响应式页面 就这么简单
2016/05/12 Javascript
再谈Angular4 脏值检测(性能优化)
2018/04/23 Javascript
vue如何安装使用Quill富文本编辑器
2018/09/21 Javascript
Element input树型下拉框的实现代码
2018/12/21 Javascript
详解如何使用微信小程序云函数发送短信验证码
2019/03/13 Javascript
layui 表格操作列按钮动态显示的实现方法
2019/09/06 Javascript
Vue Element校验validate的实例
2020/09/21 Javascript
[01:44]剑指西雅图 展望TI之CIS战队专访
2014/06/25 DOTA
对Python新手编程过程中如何规避一些常见问题的建议
2015/04/01 Python
Python对列表排序的方法实例分析
2015/05/16 Python
python开发中range()函数用法实例分析
2015/11/12 Python
浅谈python数据类型及类型转换
2017/12/18 Python
详解Django解决ajax跨域访问问题
2018/08/24 Python
Python字典中的值为列表或字典的构造实例
2019/12/16 Python
Pytorch之保存读取模型实例
2019/12/30 Python
英国拳击装备购物网站:RDX Sports
2018/01/23 全球购物
物流专业求职计划书
2014/01/10 职场文书
高三自我评价
2014/02/01 职场文书
项目总经理岗位职责
2014/02/14 职场文书
文明之星事迹材料
2014/05/09 职场文书
材料专业大学毕业生自荐书
2014/07/02 职场文书
2015元旦晚会主持词(开场白+结束语)
2014/12/14 职场文书
先进教师个人事迹材料
2014/12/15 职场文书
清洁工工作总结
2015/08/11 职场文书
Python 循环读取数据内存不足的解决方案
2021/05/25 Python
Python语言中的数据类型-序列
2022/02/24 Python