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正则表达式操作指南(re使用)
Sep 06 Python
python将字符串转换成数组的方法
Apr 29 Python
python字典的常用操作方法小结
May 16 Python
浅谈Python类的__getitem__和__setitem__特殊方法
Dec 25 Python
python利用小波分析进行特征提取的实例
Jan 09 Python
Python实现的大数据分析操作系统日志功能示例
Feb 11 Python
selenium+python环境配置教程详解
May 28 Python
python字符串下标与切片及使用方法
Feb 13 Python
Django-imagekit的使用详解
Jul 06 Python
如何通过命令行进入python
Jul 06 Python
Flask-SocketIO服务端安装及使用代码示例
Nov 26 Python
如何用PyPy让你的Python代码运行得更快
Dec 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实现字符串翻转的方法
2015/03/27 PHP
PHP观察者模式原理与简单实现方法示例
2017/08/25 PHP
PHP ElasticSearch做搜索实例讲解
2020/02/05 PHP
前后台交互过程中json格式如何解析以及如何生成
2012/12/26 Javascript
jQuery fadeOut 异步实例代码详解
2016/08/18 Javascript
微信小程序 登陆流程详细介绍
2017/01/17 Javascript
jQuery Ajax自定义分页组件(jquery.loehpagerv1.0)实例详解
2017/05/01 jQuery
Angular中$broadcast和$emit的使用方法详解
2017/05/22 Javascript
一个因@click.stop引发的bug的解决
2019/01/08 Javascript
浅谈layui使用模板引擎动态渲染元素要注意的问题
2019/09/14 Javascript
Vue 基于 vuedraggable 实现选中、拖拽、排序效果
2020/05/18 Javascript
详解JS函数防抖
2020/06/05 Javascript
Nuxt的路由动画效果案例
2020/11/06 Javascript
[05:07]DOTA2英雄梦之声_第14期_暗影恶魔
2014/06/20 DOTA
[01:10]DOTA2英雄背景故事第四期之混沌法则混沌骑士
2020/07/16 DOTA
python每次处理固定个数的字符的方法总结
2013/01/29 Python
九步学会Python装饰器
2015/05/09 Python
python3.5使用tkinter制作记事本
2016/06/20 Python
Python常见加密模块用法分析【MD5,sha,crypt模块】
2017/05/24 Python
Python基于回溯法子集树模板解决数字组合问题实例
2017/09/02 Python
python保存文件方法小结
2018/07/27 Python
Python Web程序搭建简单的Web服务器
2019/07/31 Python
pytorch使用指定GPU训练的实例
2019/08/19 Python
英国可持续奢侈品包包品牌:Elvis & Kresse
2018/08/05 全球购物
以工厂直接定价的传奇性能:Ben Hogan Golf
2019/01/04 全球购物
美国家居装饰购物网站:Amanda Lindroth
2020/03/25 全球购物
经理秘书求职自荐信范文
2014/03/23 职场文书
《美丽的南沙群岛》教学反思
2014/04/27 职场文书
心得体会的写法
2014/09/05 职场文书
酒店办公室主任岗位职责
2015/04/01 职场文书
房地产销售员岗位职责
2015/04/11 职场文书
公司清洁工岗位职责
2015/04/15 职场文书
2015小学教师德育工作总结
2015/05/12 职场文书
回复函格式及范文
2015/07/14 职场文书
手把手教你怎么用Python实现zip文件密码的破解
2021/05/27 Python
使用Apache Camel表达REST服务的方法
2022/06/10 Servers