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 相关文章推荐
跟老齐学Python之编写类之三子类
Oct 11 Python
在Python web中实现验证码图片代码分享
Nov 09 Python
Python3调用微信企业号API发送文本消息代码示例
Nov 10 Python
Python3 XML 获取雅虎天气的实现方法
Feb 01 Python
Python3实现对列表按元组指定列进行排序的方法分析
Dec 22 Python
Python3 使用selenium插件爬取苏宁商家联系电话
Dec 23 Python
pandas 对group进行聚合的例子
Dec 27 Python
pytorch自定义二值化网络层方式
Jan 07 Python
python使用正则表达式去除中文文本多余空格,保留英文之间空格方法详解
Feb 11 Python
文件上传服务器-jupyter 中python解压及压缩方式
Apr 22 Python
解决Python发送Http请求时,中文乱码的问题
Apr 30 Python
PyQt5的相对布局管理的实现
Aug 07 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
ThinkPHP中自定义目录结构的设置方法
2014/08/15 PHP
PHP CURL或file_get_contents获取网页标题的代码及两者效率的稳定性问题
2015/11/30 PHP
使用Huagepage和PGO来提升PHP7的执行性能
2015/11/30 PHP
jQuery使用手册之二 DOM操作
2007/03/24 Javascript
Iframe 自适应高度并实时监控高度变化的js代码
2009/10/30 Javascript
jQuery 打造动态渐变按钮 详细图文教程
2010/04/25 Javascript
javascript 学习笔记(onchange等)
2010/11/14 Javascript
面向对象的Javascript之二(接口实现介绍)
2012/01/27 Javascript
jquery easyui 结合jsp简单展现table数据示例
2014/04/18 Javascript
js实现的万能flv网页播放器代码
2016/04/30 Javascript
浅谈mint-ui loadmore组件注意的问题
2017/11/08 Javascript
Vue项目中如何引入icon图标
2018/03/28 Javascript
vue移动端屏幕适配详解
2019/04/30 Javascript
vue 将多个过滤器封装到一个文件中的代码详解
2020/09/05 Javascript
python 限制函数调用次数的实例讲解
2018/04/21 Python
Django中的ajax请求
2018/10/19 Python
python并发爬虫实用工具tomorrow实用解析
2019/09/25 Python
Python3.7 基于 pycryptodome 的AES加密解密、RSA加密解密、加签验签
2019/12/04 Python
python操作微信自动发消息的实现(微信聊天机器人)
2020/07/14 Python
CSS3 display知识详解
2015/11/25 HTML / CSS
CSS3 旋转立方体问题详解
2020/01/09 HTML / CSS
HTML5 Canvas画线技巧——实现绘制一个像素宽的细线
2013/08/02 HTML / CSS
Avène雅漾美国官方网站:敏感肌肤护理专家
2016/10/24 全球购物
UGG美国官网:购买UGG雪地靴、拖鞋和鞋子
2017/12/31 全球购物
俄罗斯购买自行车网站:Vamvelosiped
2021/01/29 全球购物
Java中会存在内存泄漏吗,请简单描述
2016/12/22 面试题
服装设计专业自荐书范文
2013/12/30 职场文书
毕业寄语大全
2014/04/09 职场文书
小学作文评语大全
2014/04/21 职场文书
日语系毕业求职信
2014/07/27 职场文书
教师对照四风自我剖析材料
2014/09/30 职场文书
2014社区健康教育工作总结
2014/12/16 职场文书
2015年植树节活动总结
2015/02/06 职场文书
计算机实训心得体会
2016/01/14 职场文书
用Python的绘图库(matplotlib)绘制小波能量谱
2021/04/17 Python
使用pandas模块实现数据的标准化操作
2021/05/14 Python