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中getaddrinfo()基本用法实例分析
Jun 28 Python
在Django的URLconf中使用多个视图前缀的方法
Jul 18 Python
python3实现TCP协议的简单服务器和客户端案例(分享)
Jun 14 Python
python for 循环获取index索引的方法
Feb 01 Python
Python flask框架post接口调用示例
Jul 03 Python
python如何删除文件中重复的字段
Jul 16 Python
Python 使用list和tuple+条件判断详解
Jul 30 Python
python requests证书问题解决
Sep 05 Python
Python实现RGB与HSI颜色空间的互换方式
Nov 27 Python
python利用JMeter测试Tornado的多线程
Jan 12 Python
python GUI库图形界面开发之PyQt5复选框控件QCheckBox详细使用方法与实例
Feb 28 Python
Flask缓存静态文件的具体方法
Aug 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/12/31 PHP
PHP JSON格式的中文显示问题解决方法
2015/04/09 PHP
javascript处理table表格的代码
2010/12/06 Javascript
jquery 元素控制(追加元素/追加内容)介绍及应用
2013/04/21 Javascript
判断是否安装flash player及当前版本的JS代码
2013/08/08 Javascript
js简单实现让文本框内容逐个字的显示出来
2013/10/22 Javascript
面向对象设计模式的核心法则
2013/11/10 Javascript
jQuery基础知识点总结(必看)
2016/05/31 Javascript
JS实现移动端整屏滑动的实例代码
2017/11/10 Javascript
取消Bootstrap的dropdown-menu点击默认关闭事件方法
2018/08/10 Javascript
nodejs使用socket5进行代理请求的实现
2020/02/21 NodeJs
vantUI 获得piker选中值的自定义ID操作
2020/11/04 Javascript
vue+Element-ui实现登录注册表单
2020/11/17 Javascript
Vue +WebSocket + WaveSurferJS 实现H5聊天对话交互的实例
2020/11/18 Vue.js
ssh批量登录并执行命令的python实现代码
2012/05/25 Python
python网络编程学习笔记(八):XML生成与解析(DOM、ElementTree)
2014/06/09 Python
Python实现基于权重的随机数2种方法
2015/04/28 Python
Django接受前端数据的几种方法总结
2016/11/04 Python
使用Python对Excel进行读写操作
2017/03/30 Python
python中lambda()的用法
2017/11/16 Python
Python面向对象之继承代码详解
2018/01/29 Python
django之跨表查询及添加记录的示例代码
2018/10/16 Python
pygame实现雷电游戏雏形开发
2018/11/20 Python
用Python实现将一张图片分成9宫格的示例
2019/07/05 Python
使用APScheduler3.0.1 实现定时任务的方法
2019/07/22 Python
python正则-re的用法详解
2019/07/28 Python
python实现遍历文件夹图片并重命名
2020/03/23 Python
python 安装库几种方法之cmd,anaconda,pycharm详解
2020/04/08 Python
解决pytorch多GPU训练保存的模型,在单GPU环境下加载出错问题
2020/06/23 Python
html5移动端价格输入键盘的实现
2019/09/16 HTML / CSS
西班牙在线宠物食品和配件商店:bitiba
2019/10/11 全球购物
介绍一下Python中webbrowser的用法
2013/05/07 面试题
会计专业推荐信
2013/10/29 职场文书
2015年青年教师工作总结
2015/05/25 职场文书
外出培训学习心得体会
2016/01/18 职场文书
浅谈Redis主从复制以及主从复制原理
2021/05/29 Redis