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标准库中的wave模块绘制乐谱的简单教程
Mar 30 Python
Python常用的文件及文件路径、目录操作方法汇总介绍
May 21 Python
Python之日期与时间处理模块(date和datetime)
Feb 16 Python
python操作小程序云数据库实现简单的增删改查功能
Jun 06 Python
python程序 线程队列queue使用方法解析
Sep 23 Python
Python爬取新型冠状病毒“谣言”新闻进行数据分析
Feb 16 Python
Pycharm激活方法及详细教程(详细且实用)
May 12 Python
Tensorflow与Keras自适应使用显存方式
Jun 22 Python
PyTorch的torch.cat用法
Jun 28 Python
pycharm 快速解决python代码冲突的问题
Jan 15 Python
Python人工智能之混合高斯模型运动目标检测详解分析
Nov 07 Python
请求模块urllib之PYTHON爬虫的基本使用
Apr 08 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
一个用php3编写的简单计数器
2006/10/09 PHP
php 正则 过滤html 的超链接
2009/06/02 PHP
解析wamp5下虚拟机配置文档
2013/06/27 PHP
php中使用session_set_save_handler()函数把session保存到MySQL数据库实例
2014/11/06 PHP
PHP基于CURL进行POST数据上传实例
2014/11/10 PHP
php 数据结构之链表队列
2017/10/17 PHP
YII2框架中添加自定义模块的方法实例分析
2020/03/18 PHP
javascript 常用代码技巧大收集
2009/02/25 Javascript
Jquery的hover方法让鼠标经过li时背景变色
2013/09/06 Javascript
使用jquery自定义鼠标样式满足个性需求
2013/11/05 Javascript
JavaScript获取网页中第一个链接ID的方法
2015/04/03 Javascript
原生js和jquery实现图片轮播特效
2015/04/23 Javascript
JavaScript实现简单的数字倒计时
2015/05/15 Javascript
jQuery实现横向带缓冲的水平运动效果(附demo源码下载)
2016/01/29 Javascript
不定义JQuery插件 不要说会JQuery
2016/03/07 Javascript
JavaScript中将数组进行合并的基本方法讲解
2016/03/07 Javascript
微信小程序分享功能之按钮button 边框隐藏和点击隐藏
2018/06/14 Javascript
Js中使用正则表达式验证输入是否有特殊字符
2018/09/07 Javascript
对vue下点击事件传参和不传参的区别详解
2018/09/15 Javascript
vue组件中watch props根据v-if动态判断并挂载DOM的问题
2019/05/12 Javascript
vue使用swiper实现左右滑动切换图片
2020/10/16 Javascript
快速解决vue2+vue-cli3项目ie兼容的问题
2020/11/17 Vue.js
JavaScript实现商品评价五星好评
2020/11/30 Javascript
python继承和抽象类的实现方法
2015/01/14 Python
python opencv设置摄像头分辨率以及各个参数的方法
2018/04/02 Python
Python实现去除列表中重复元素的方法小结【4种方法】
2018/04/27 Python
删除python pandas.DataFrame 的多重index实例
2018/06/08 Python
python获取array中指定元素的示例
2019/11/26 Python
TensorFlow低版本代码自动升级为1.0版本
2021/02/20 Python
html5利用canvas实现颜色容差抠图功能
2019/12/23 HTML / CSS
介绍一下write命令
2014/08/10 面试题
2014年应急管理工作总结
2014/11/26 职场文书
2014年纪委工作总结
2014/12/05 职场文书
2014年生产管理工作总结
2014/12/23 职场文书
交通事故和解协议书
2015/01/27 职场文书
python中Matplotlib绘制直线的实例代码
2021/07/04 Python