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自定义函数的创建、调用和函数的参数详解
Mar 11 Python
Python写的创建文件夹自定义函数mkdir()
Aug 25 Python
跟老齐学Python之赋值,简单也不简单
Sep 24 Python
python多重继承新算法C3介绍
Sep 28 Python
python下如何查询CS反恐精英的服务器信息
Jan 17 Python
Python3 模块、包调用&路径详解
Oct 25 Python
浅谈pandas中Dataframe的查询方法([], loc, iloc, at, iat, ix)
Apr 10 Python
python编写简易聊天室实现局域网内聊天功能
Jul 28 Python
PyQt5实现简易电子词典
Jun 25 Python
django-csrf使用和禁用方式
Mar 13 Python
python怎么提高计算速度
Jun 11 Python
python 如何调用 dubbo 接口
Sep 24 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
php4的session功能评述(二)
2006/10/09 PHP
兼容各大浏览器带关闭按钮的漂浮多组图片广告代码
2014/06/05 PHP
JavaScript 指导方针
2007/04/05 Javascript
js中将字符串转换成json的三种方式
2011/01/12 Javascript
JS求平均值的小例子
2013/11/29 Javascript
javascript中clone对象详解
2014/12/03 Javascript
jquery实现下拉框功能效果【实例代码】
2016/05/06 Javascript
浅谈js中的三种继承方式及其优缺点
2016/08/10 Javascript
js 能实现监听F5页面刷新子iframe 而父页面不刷新的方法
2016/11/09 Javascript
jquery操作ID带有变量的节点实例
2016/12/07 Javascript
Vue from-validate 表单验证的示例代码
2017/09/26 Javascript
微信小程序scroll-view实现滚动到锚点左侧导航栏点餐功能(点击种类,滚动到锚点)
2020/06/11 Javascript
[01:41]DOTA2超级联赛专访YYF 称一辈子难忘TI2
2013/05/28 DOTA
[48:30]LGD vs infamous Supermajor小组赛D组 BO3 第一场 6.3
2018/06/04 DOTA
pycharm 使用心得(九)解决No Python interpreter selected的问题
2014/06/06 Python
在CentOS上配置Nginx+Gunicorn+Python+Flask环境的教程
2016/06/07 Python
python使用xlrd与xlwt对excel的读写和格式设定
2017/01/21 Python
使用Python进行目录的对比方法
2018/11/01 Python
Python实现批量执行同目录下的py文件方法
2019/01/11 Python
家乐福巴西网上超市:Carrefour巴西
2016/10/31 全球购物
加拿大廉价机票预订网站:CheapOair.ca
2018/03/04 全球购物
SteelSeries赛睿官网:游戏外设和配件的领先制造商(耳机、键盘、鼠标和鼠标垫)
2018/06/17 全球购物
领先的荷兰线上超市:荷兰之家Holland at Home(支持中文)
2021/01/21 全球购物
销售自我评价
2013/10/22 职场文书
监理员的岗位职责
2013/11/13 职场文书
2014年语文教研组工作总结
2014/12/06 职场文书
硕士毕业论文导师评语
2014/12/31 职场文书
捐资助学感谢信
2015/01/21 职场文书
学生会个人总结范文
2015/02/15 职场文书
2015年社区文体活动总结
2015/03/25 职场文书
药品销售内勤岗位职责
2015/04/13 职场文书
运动会闭幕式通讯稿
2015/07/18 职场文书
小学班级管理心得体会
2016/01/07 职场文书
教师个人教学反思
2016/02/23 职场文书
2019年让高校“心动”的自荐信
2019/03/25 职场文书
hive数据仓库新增字段方法
2022/06/25 数据库