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实现分页效果
Oct 25 Python
python+matplotlib实现鼠标移动三角形高亮及索引显示
Jan 15 Python
Python实现的爬取网易动态评论操作示例
Jun 06 Python
flask中的wtforms使用方法
Jul 21 Python
在Pycharm中自动添加时间日期作者等信息的方法
Jan 16 Python
python使用百度文字识别功能方法详解
Jul 23 Python
python实现图片插入文字
Nov 26 Python
Django restframework 框架认证、权限、限流用法示例
Dec 21 Python
使用Python发现隐藏的wifi
Mar 04 Python
Python爬虫获取页面所有URL链接过程详解
Jun 04 Python
Python类绑定方法及非绑定方法实例解析
Oct 09 Python
Python使用Kubernetes API访问集群
May 30 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
星际争霸 Starcraft 发展史
2020/03/14 星际争霸
使用PHP下载CSS文件中的图片的代码
2013/09/24 PHP
PHP COOKIE及时生效的方法介绍
2014/02/14 PHP
浅析PHP中call user func()函数及如何使用call user func调用自定义函数
2015/11/05 PHP
PHP实现的多文件上传类及用法示例
2016/05/06 PHP
如何使用PHP给图片加水印
2016/10/12 PHP
php分页查询的简单实现代码
2017/03/14 PHP
面向对象的编程思想在javascript中的运用上部
2009/11/20 Javascript
js对象之JS入门之Array对象操作小结
2011/01/09 Javascript
基于jquery的监控数据是否发生改变
2011/04/11 Javascript
JavaScript中原型链存在的问题解析
2016/09/25 Javascript
javascript中href和replace的比较(详解)
2016/11/25 Javascript
实现一个简单的vue无限加载指令方法
2017/01/10 Javascript
Bootstrap缩略图的创建方法
2017/03/22 Javascript
JS将unicode码转中文方法
2017/05/08 Javascript
关于定制FileField中的上传文件名称问题
2017/08/22 Javascript
微信小程序 数据绑定及运算的简单实例
2017/09/20 Javascript
JavaScript 日期时间选择器一些小结
2018/04/02 Javascript
通过jquery获取上传文件名称、类型和大小的实现代码
2018/04/19 jQuery
layui获取选中行数据的实例讲解
2018/08/19 Javascript
如何通过setTimeout理解JS运行机制详解
2019/03/23 Javascript
js获取浏览器地址(获取第1个斜杠后的内容)
2019/09/03 Javascript
[29:10]Ti4 冒泡赛第二天 NEWBEE vs Titan 3
2014/07/15 DOTA
[01:00:10]完美世界DOTA2联赛PWL S2 FTD vs Inki 第二场 11.21
2020/11/24 DOTA
Python中的类学习笔记
2014/09/23 Python
简单谈谈python中的多进程
2016/11/06 Python
Python爬虫实现全国失信被执行人名单查询功能示例
2018/05/03 Python
pymongo中group by的操作方法教程
2019/03/22 Python
关于Pytorch的MLP模块实现方式
2020/01/07 Python
纯CSS实现预加载动画效果
2017/09/06 HTML / CSS
德国药房apodiscounter中文官网:德国排名前三的网上药店
2019/06/03 全球购物
工厂采购员岗位职责
2014/04/08 职场文书
信用卡工作证明模板
2014/09/14 职场文书
个人欠条范本
2015/07/03 职场文书
公司档案管理制度
2015/08/05 职场文书
Nginx防盗链与服务优化配置的全过程
2022/01/18 Servers