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结合selenium获取XX省交通违章数据的实现思路及代码
Jun 26 Python
python利用urllib和urllib2访问http的GET/POST详解
Sep 27 Python
新手常见6种的python报错及解决方法
Mar 09 Python
Python之时间和日期使用小结
Feb 14 Python
Django网络框架之HelloDjango项目创建教程
Jun 06 Python
python图形用户接口实例详解
Dec 16 Python
pytorch .detach() .detach_() 和 .data用于切断反向传播的实现
Dec 27 Python
基于keras输出中间层结果的2种实现方式
Jan 24 Python
python encrypt 实现AES加密的实例详解
Feb 20 Python
Python基于yield遍历多个可迭代对象
Mar 12 Python
python3+selenium获取页面加载的所有静态资源文件链接操作
May 04 Python
python b站视频下载的五种版本
May 27 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
一台收音机,让一家人都笑逐颜开!
2020/08/21 无线电
php提交表单发送邮件的方法
2015/03/20 PHP
PHP会话操作之cookie用法分析
2016/09/28 PHP
PHP经典实用正则表达式小结
2017/05/04 PHP
Laravel中七个非常有用但很少人知道的Carbon方法
2017/09/21 PHP
Avengerls vs KG BO3 第一场2.18
2021/03/10 DOTA
学习jquery之一
2007/04/27 Javascript
struts2 jquery 打造无限层次的树
2009/10/23 Javascript
基于jquery的让页面控件不可用的实现代码
2010/04/27 Javascript
动感效果的TAB选项卡jquery 插件
2011/07/09 Javascript
js对象关系图 方便dom操作
2012/03/18 Javascript
js实现宇宙星空背景效果的方法
2015/03/03 Javascript
Bootstrap三种表单布局的使用方法
2016/06/21 Javascript
基于JS实现类似支付宝支付密码输入框
2016/09/02 Javascript
Vue.js仿Metronic高级表格(一)静态设计
2017/04/17 Javascript
React组件内事件传参实现tab切换的示例代码
2018/07/04 Javascript
vue 实现小程序或商品秒杀倒计时
2019/04/14 Javascript
jquery.tagsinput.js实现记录checkbox勾选的顺序
2019/09/21 jQuery
Vue项目打包部署到iis服务器的配置方法
2019/10/14 Javascript
浅谈Vue使用Cascader级联选择器数据回显中的坑
2020/10/31 Javascript
Python sys.argv用法实例
2015/05/28 Python
Python的Flask框架中SQLAlchemy使用时的乱码问题解决
2015/11/07 Python
详解基于python的多张不同宽高图片拼接成大图
2019/09/26 Python
python 将dicom图片转换成jpg图片的实例
2020/01/13 Python
美国机场停车位预订:About Airport Parking
2018/03/26 全球购物
Delphi CS笔试题
2014/01/04 面试题
高二历史教学反思
2014/01/25 职场文书
圣诞节红领巾广播稿
2014/02/03 职场文书
四风个人对照检查材料思想汇报
2014/09/25 职场文书
初三毕业评语
2014/12/26 职场文书
2015年度员工自我评价范文
2015/03/11 职场文书
留学推荐信(中英文版)
2015/03/26 职场文书
全民创业工作总结
2015/08/13 职场文书
2016年社区中秋节活动总结
2016/04/05 职场文书
详解Mysql 函数调用优化
2021/04/07 MySQL
SQL Server Agent 服务无法启动
2022/04/20 SQL Server