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 示例分享---逻辑推理编程解决八皇后
Jul 20 Python
理解Python中的With语句
Feb 02 Python
python 网络编程详解及简单实例
Apr 25 Python
Django项目中model的数据处理以及页面交互方法
May 30 Python
Python3内置模块pprint让打印比print更美观详解
Jun 02 Python
Python matplotlib生成图片背景透明的示例代码
Aug 30 Python
浅谈numpy中函数resize与reshape,ravel与flatten的区别
Jun 18 Python
Python存储读取HDF5文件代码解析
Nov 25 Python
删除pycharm鼠标右键快捷键打开项目的操作
Jan 16 Python
Pandas数据分析的一些常用小技巧
Feb 07 Python
详解使用scrapy进行模拟登陆三种方式
Feb 21 Python
Python Django / Flask如何使用Elasticsearch
Apr 19 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/01/30 PHP
php解析xml 的四种简单方法(附实例)
2016/07/11 PHP
Gambit vs ForZe BO3 第一场 2.13
2021/03/10 DOTA
JS+XML 省份和城市之间的联动实现代码
2009/10/14 Javascript
CheckBoxList多选样式jquery、C#获取选择项
2013/09/06 Javascript
jquery中获得元素尺寸和坐标的方法整理
2014/05/18 Javascript
在JavaScript中call()与apply()区别
2016/01/22 Javascript
Vue.js每天必学之数据双向绑定
2016/09/05 Javascript
Node.js中的http请求客户端示例(request client)
2017/05/04 Javascript
基于jQuery和CSS3实现APPLE TV海报视差效果
2017/06/16 jQuery
vue做网页开场视频的实例代码
2017/10/20 Javascript
基于vue.js无缝滚动效果
2018/01/25 Javascript
vue 下列表侧滑操作实例代码详解
2018/07/24 Javascript
js事件触发操作实例分析
2019/06/21 Javascript
vue通过video.js解决m3u8视频播放格式的方法
2019/07/30 Javascript
jquery实现购物车基本功能
2019/10/25 jQuery
JavaScript实现跟随鼠标移动的盒子
2021/01/28 Javascript
[37:22]DOTA2上海特级锦标赛D组资格赛#2 Liquid VS VP第一局
2016/02/28 DOTA
使用Python编写一个简单的tic-tac-toe游戏的教程
2015/04/16 Python
在Python中使用列表生成式的教程
2015/04/27 Python
python实现微信远程控制电脑
2018/02/22 Python
Python基于递归实现电话号码映射功能示例
2018/04/13 Python
实例讲解Python爬取网页数据
2018/07/08 Python
python for 循环获取index索引的方法
2019/02/01 Python
Python Numpy库datetime类型的处理详解
2019/07/13 Python
Python符号计算之实现函数极限的方法
2019/07/15 Python
Python使用APScheduler实现定时任务过程解析
2019/09/11 Python
Python TCPServer 多线程多客户端通信的实现
2019/12/31 Python
用CSS3实现无限循环的无缝滚动的示例代码
2017/11/01 HTML / CSS
美体小铺瑞典官方网站:The Body Shop瑞典
2018/01/27 全球购物
哈曼俄罗斯官方网上商店:Harman.club
2020/07/24 全球购物
大一自我鉴定范文
2013/12/27 职场文书
周年庆典邀请函范文
2014/01/24 职场文书
商场促销活动方案
2014/02/08 职场文书
2015年教研室工作总结范文
2015/05/23 职场文书
如何让2019年上半年的工作总结更出色!
2019/07/01 职场文书