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 相关文章推荐
DJANGO-ALLAUTH社交用户系统的安装配置
Nov 18 Python
python使用nntp读取新闻组内容的方法
May 08 Python
Python映射拆分操作符用法实例
May 19 Python
python实现文件快照加密保护的方法
Jun 30 Python
Python的pycurl包用法简介
Nov 13 Python
用python找出那些被“标记”的照片
Apr 20 Python
Python实现图片转字符画的示例
Aug 22 Python
Python使用django框架实现多人在线匿名聊天的小程序
Nov 29 Python
Python学习之Django的管理界面代码示例
Feb 10 Python
Python 25行代码实现的RSA算法详解
Apr 10 Python
解决jupyter notebook图片显示模糊和保存清晰图片的操作
Apr 24 Python
上帝为你开了一扇窗之Tkinter常用函数详解
Jun 02 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获取网络上文件
2006/10/09 PHP
php正则表达式使用的详细介绍
2013/04/27 PHP
PHP实现采集抓取淘宝网单个商品信息
2015/01/08 PHP
PHP实现获取客户端IP并获取IP信息
2015/03/17 PHP
百度工程师讲PHP函数的实现原理及性能分析(二)
2015/05/13 PHP
不错的一个日期输入 动态
2006/11/06 Javascript
JavaScript 获取用户客户端操作系统版本
2009/08/25 Javascript
Nodejs中自定义事件实例
2014/06/20 NodeJs
Jquery中find与each方法用法实例
2015/02/04 Javascript
JavaScript中获取HTML元素值的三种方法
2016/06/20 Javascript
jquery的checkbox,radio,select等方法小结
2016/08/30 Javascript
微信小程序开发之实现选项卡(窗口顶部TabBar)页面切换
2016/11/25 Javascript
Node.js如何实现注册邮箱激活功能 (常见)
2017/07/23 Javascript
微信小程序身份证验证方法实现详解
2019/06/28 Javascript
关于layui toolbar和template的结合使用方法
2019/09/19 Javascript
JavaScript面试中常考的字符串操作方法大全(包含ES6)
2020/05/10 Javascript
NodeJS配置CORS实现过程详解
2020/12/02 NodeJs
python识别图像并提取文字的实现方法
2019/06/28 Python
django的ORM操作 增加和查询
2019/07/26 Python
Python 面向对象部分知识点小结
2020/03/09 Python
django-xadmin根据当前登录用户动态设置表单字段默认值方式
2020/03/13 Python
如何使用 Python 读取文件和照片的创建日期
2020/09/05 Python
Django自定义YamlField实现过程解析
2020/11/11 Python
基于zepto的插件之移动端无缝向上滚动并上下触摸滑动实例代码
2016/12/20 HTML / CSS
加拿大女包品牌:Matt & Nat
2017/05/12 全球购物
Lacoste澳大利亚官网:服装、鞋类及配饰
2018/11/14 全球购物
Lookfantastic意大利官网:英国知名美妆购物网站
2019/05/31 全球购物
blueseventy官网:铁人三项和比赛泳衣
2021/02/06 全球购物
为什么使用接口?
2014/08/13 面试题
行政部总经理岗位职责
2014/01/04 职场文书
学生打架检讨书大全
2014/01/23 职场文书
法定代表人资格证明书
2014/09/11 职场文书
教师反邪教心得体会
2016/01/15 职场文书
维护民族团结心得体会2016
2016/01/15 职场文书
react合成事件与原生事件的相关理解
2021/05/13 Javascript
React自定义hook的方法
2022/06/25 Javascript