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中迭代器(iterator)用法实例分析
Apr 29 Python
Python开发中爬虫使用代理proxy抓取网页的方法示例
Sep 26 Python
selenium+python环境配置教程详解
May 28 Python
python检测服务器端口代码实例
Aug 31 Python
python多进程(加入进程池)操作常见案例
Oct 21 Python
Python 3 使用Pillow生成漂亮的分形树图片
Dec 24 Python
python 已知一个字符,在一个list中找出近似值或相似值实现模糊匹配
Feb 29 Python
浅谈python3打包与拆包在函数的应用详解
May 02 Python
Python lambda表达式原理及用法解析
Aug 18 Python
python使用glob检索文件的操作
May 20 Python
Matplotlib绘制混淆矩阵的实现
May 27 Python
python中pycryto实现数据加密
Apr 29 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程序占用多少内存(memory_get_usage)
2012/09/23 PHP
PHP实现的一致性哈希算法完整实例
2015/11/14 PHP
PHP模板引擎Smarty中变量的使用方法示例
2016/04/11 PHP
php 可变函数使用小结
2018/06/12 PHP
Laravel基础_关于view共享数据的示例讲解
2019/10/14 PHP
JQuery扩展插件Validate 1 基本使用方法并打包下载
2011/09/05 Javascript
Raphael一个用于在网页中绘制矢量图形的Javascript库
2013/01/08 Javascript
获取offsetTop和offsetLeft值的js代码(兼容)
2013/04/16 Javascript
xmlhttp缓存清除的2种解决方法
2013/12/13 Javascript
jquery 扑捉回车键事件代码
2014/04/24 Javascript
深入分析escape()、encodeURI()、encodeURIComponent()的区别及示例
2014/08/04 Javascript
js实现图片粘贴上传到服务器并展示的实例
2017/11/08 Javascript
Vue的实例、生命周期与Vue脚手架(vue-cli)实例详解
2017/12/27 Javascript
Next.js实现react服务器端渲染的方法示例
2019/01/06 Javascript
从零到一详聊创建Vue工程及遇到的常见问题
2019/04/25 Javascript
详解搭建一个vue-cli的移动端H5开发模板
2020/01/17 Javascript
Vue生命周期activated之返回上一页不重新请求数据操作
2020/07/26 Javascript
[00:43]DOTA2小紫本全民票选福利PA至宝全方位展示
2014/11/25 DOTA
Python 数据结构之旋转链表
2017/02/25 Python
一个基于flask的web应用诞生 flask和mysql相连(4)
2017/04/11 Python
Python解析json之ValueError: Expecting property name enclosed in double quotes: line 1 column 2(char 1)
2017/07/06 Python
浅谈用Python实现一个大数据搜索引擎
2017/11/28 Python
python版微信跳一跳游戏辅助
2018/01/11 Python
柯基袜:Corgi Socks
2017/01/26 全球购物
非凡女性奢华谦虚风格:The Modist
2017/10/28 全球购物
数据库笔试题
2013/05/09 面试题
高一家长会邀请函
2014/01/12 职场文书
同学聚会欢迎辞
2014/01/14 职场文书
快餐店的创业计划书范文
2014/01/29 职场文书
库房管理员岗位职责
2014/03/09 职场文书
先进员工获奖感言
2014/08/14 职场文书
专题组织生活会思想汇报
2014/10/01 职场文书
2015年重阳节活动主持词
2015/07/30 职场文书
幼儿园音乐教学反思
2016/02/18 职场文书
千万级用户系统SQL调优实战分享
2022/03/03 MySQL
Python实现信息管理系统
2022/06/05 Python