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代码检查工具pylint 让你的python更规范
Sep 05 Python
详解Python编程中time模块的使用
Nov 20 Python
利用Python画ROC曲线和AUC值计算
Sep 19 Python
selenium+python实现自动化登录的方法
Sep 04 Python
详解Python连接MySQL数据库的多种方式
Apr 16 Python
Django中reverse反转并且传递参数的方法
Aug 06 Python
pytorch实现从本地加载 .pth 格式模型
Feb 14 Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧(自定义信号与槽)详解与实例
Mar 06 Python
Keras:Unet网络实现多类语义分割方式
Jun 11 Python
python上selenium的弹框操作实现
Jul 13 Python
python将下载到本地m3u8视频合成MP4的代码详解
Nov 24 Python
Python安装Bs4的多种方法
Nov 28 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通过ksort()函数给关联数组按照键排序的方法
2015/03/18 PHP
PHP的Yii框架中行为的定义与绑定方法讲解
2016/03/18 PHP
Yii2框架实现登录、退出及自动登录功能的方法详解
2017/10/24 PHP
JavaScript 学习笔记(六)
2009/12/31 Javascript
JavaScript高级程序设计(第3版)学习笔记13 ECMAScript5新特性
2012/10/11 Javascript
获取元素距离浏览器周边的位置的方法getBoundingClientRect
2013/04/17 Javascript
JavaScript函数模式详解
2014/11/07 Javascript
JS实现窗口加载时模拟鼠标移动的方法
2015/06/03 Javascript
JS实现跟随鼠标的链接文字提示框效果
2015/08/06 Javascript
JavaScript jquery及AJAX小结
2016/01/24 Javascript
jQuery实现控制文字内容溢出用省略号(…)表示的方法
2016/02/26 Javascript
JS基于ocanvas插件实现的简单画板效果代码(附demo源码下载)
2016/04/05 Javascript
原生js的RSA和AES加密解密算法
2016/10/08 Javascript
js实现轮播图的两种方式(构造函数、面向对象)
2017/09/30 Javascript
微信小程序的部署方法步骤
2018/09/04 Javascript
python实现机械分词之逆向最大匹配算法代码示例
2017/12/13 Python
python批量修改图片后缀的方法(png到jpg)
2018/10/25 Python
python PIL/cv2/base64相互转换实例
2020/01/09 Python
手把手教你进行Python虚拟环境配置教程
2020/02/03 Python
tensorflow2.0保存和恢复模型3种方法
2020/02/03 Python
python matplotlib包图像配色方案分享
2020/03/14 Python
Django中Q查询及Q()对象 F查询及F()对象用法
2020/07/09 Python
python 使用建议与技巧分享(四)
2020/08/18 Python
python 使用三引号时容易犯的小错误
2020/10/21 Python
canvas探照灯效果的示例代码
2018/11/30 HTML / CSS
Bowflex美国官方网站:高级家庭健身器材
2017/12/22 全球购物
LODI女鞋在线商店:阿利坎特的鞋类品牌
2019/02/15 全球购物
三陽商会官方网站:Sanyo iStore
2019/05/15 全球购物
师范大学应届生求职信
2013/11/21 职场文书
新郎新娘婚礼答谢词
2014/01/11 职场文书
甜点店创业计划书
2014/01/27 职场文书
租房协议书范文
2014/08/20 职场文书
廉政教育的心得体会
2014/09/01 职场文书
超市工作总结范文2014
2014/12/19 职场文书
2016春季小学开学寄语
2015/12/03 职场文书
2021-4-5课程——SQL Server查询【3】
2021/04/05 SQL Server