python统计一个文本中重复行数的方法


Posted in Python onNovember 19, 2014

本文实例讲述了python统计一个文本中重复行数的方法。分享给大家供大家参考。具体实现方法如下:

比如有下面一个文件
2
3
1
2
我们期望得到
2,2
3,1
1,1

解决问题的思路:

出现的文本作为key, 出现的数目作为value,然后按照value排除后输出
最好按照value从大到小输出出来,可以参照:

in recent Python 2.7, we have new OrderedDict type, which remembers the order in which the items were added.

>>> d = {"third": 3, "first": 1, "fourth": 4, "second": 2}

>>> for k, v in d.items():

...     print "%s: %s" % (k, v)

...

second: 2

fourth: 4

third: 3

first: 1

>>> d

{'second': 2, 'fourth': 4, 'third': 3, 'first': 1}To make a new ordered dictionary from the original, sorting by the values:

>>> from collections import OrderedDict

>>> d_sorted_by_value = OrderedDict(sorted(d.items(), key=lambda x: x[1]))The OrderedDict behaves like a normal dict:

>>> for k, v in d_sorted_by_value.items():

...     print "%s: %s" % (k, v)

...

first: 1

second: 2

third: 3

fourth: 4

>>> d_sorted_by_value

OrderedDict([('first': 1), ('second': 2), ('third': 3), ('fourth': 4)])

代码如下:
#coding=utf-8

import operator

f = open("f.txt")

count_dict = {}

for line in f.readlines():

    line = line.strip()

    count = count_dict.setdefault(line, 0)

    count += 1

    count_dict[line] = count

sorted_count_dict = sorted(count_dict.iteritems(), key=operator.itemgetter(1), reverse=True)

for item in sorted_count_dict:

    print "%s,%d" % (item[0], item[1])

补充说明:
1. python的dict对象的两个方法:

items方法将所有的字典项以列表的方式返回, 这些列表项中每一项都来自于(键, 值)
iteritems方法与items的作用大致相同, 但是返回一个迭代器对象而不是列表

2. python的内建函数sorted

>>> help(sorted)

Help on built-in function sorted in module __builtin__:

sorted(...)

    sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
Python3中条件控制、循环与函数的简易教程
Nov 21 Python
在NumPy中创建空数组/矩阵的方法
Jun 15 Python
浅谈Scrapy网络爬虫框架的工作原理和数据采集
Feb 07 Python
一行python实现树形结构的方法
Aug 09 Python
Python绘制股票移动均线的实例
Aug 24 Python
Django REST Framework之频率限制的使用
Sep 29 Python
使用python远程操作linux过程解析
Dec 04 Python
pandas和spark dataframe互相转换实例详解
Feb 18 Python
Django单元测试中Fixtures用法详解
Feb 25 Python
关于Kotlin中SAM转换的那些事
Sep 15 Python
用Python进行websocket接口测试
Oct 16 Python
python自动获取微信公众号最新文章的实现代码
Jul 15 Python
python通过zlib实现压缩与解压字符串的方法
Nov 19 #Python
python判断字符串是否纯数字的方法
Nov 19 #Python
python使用any判断一个对象是否为空的方法
Nov 19 #Python
python编写暴力破解FTP密码小工具
Nov 19 #Python
用python读写excel的方法
Nov 18 #Python
kNN算法python实现和简单数字识别的方法
Nov 18 #Python
决策树的python实现方法
Nov 18 #Python
You might like
PHP中的MYSQL常用函数(php下操作数据库必备)
2010/09/12 PHP
php强制文件下载而非在浏览器打开的自定义函数分享
2014/05/08 PHP
ThinkPHP实现跨模块调用操作方法概述
2014/06/20 PHP
PHPExcel在linux环境下导出报500错误的解决方法
2017/01/26 PHP
php实现数据库的增删改查
2017/02/26 PHP
javaScript parseInt字符转化为数字函数使用小结
2009/11/05 Javascript
javascript学习笔记(十七) 检测浏览器插件代码
2012/06/20 Javascript
Lazy Load 延迟加载图片的jQuery插件中文使用文档
2012/10/18 Javascript
js弹出窗口之弹出层的小例子
2013/06/17 Javascript
简洁Ajax函数处理(示例代码)
2013/11/15 Javascript
javascript简单实现表格行间隔显示颜色并高亮显示
2013/11/29 Javascript
ExtJS4如何自动生成控制grid的列显示、隐藏的checkbox
2014/05/02 Javascript
用js替换除数字与逗号以外的所有字符的代码
2014/06/07 Javascript
高性能JavaScript模板引擎实现原理详解
2015/02/05 Javascript
jquery简单倒计时实现方法
2015/12/18 Javascript
深入理解事件冒泡(Bubble)和事件捕捉(capture)
2016/05/28 Javascript
js实现移动端编辑添加地址【模仿京东】
2017/04/28 Javascript
WEEX环境搭建与入门详解
2019/10/16 Javascript
vue实现在线预览pdf文件和下载(pdf.js)
2019/11/26 Javascript
[00:38]TI珍贵瞬间系列(二):笑
2020/08/26 DOTA
跟老齐学Python之print详解
2014/09/28 Python
快速排序的算法思想及Python版快速排序的实现示例
2016/07/02 Python
将Python字符串生成PDF的实例代码详解
2019/05/17 Python
Python3实现二叉树的最大深度
2019/09/30 Python
Pycharm内置终端及远程SSH工具的使用教程图文详解
2020/03/19 Python
python实现密度聚类(模板代码+sklearn代码)
2020/04/27 Python
python实现sm2和sm4国密(国家商用密码)算法的示例
2020/09/26 Python
css3弹性盒模型(Flexbox)详细介绍
2014/10/08 HTML / CSS
html5 worker 实例(一) 为什么测试不到效果
2013/06/24 HTML / CSS
Fossil加拿大官网:化石手表、手袋、首饰及配饰
2019/04/23 全球购物
设计师大码女装:11 Honoré
2020/05/03 全球购物
体育专业大学生职业生涯规划范文:打造自己的运动帝国
2014/09/12 职场文书
2014基建处领导班子“四风”对照检查材料思想汇报
2014/10/04 职场文书
2015年社区党建工作汇报材料
2015/06/25 职场文书
如何利用STAR法则制作留学文书?
2019/08/26 职场文书
OpenCV-Python实现怀旧滤镜与连环画滤镜
2021/06/09 Python