python统计一个文本中重复行数的方法
发布时间:2020-12-16 20:12:17 所属栏目:Python 来源:网络整理
导读:本篇章节讲解python统计一个文本中重复行数的方法。供大家参考研究。具体实现方法如下: 比如有下面一个文件 2 3 1 2 我们期望得到 2,2 3,1 1,1 解决问题的思路: 出现的文本作为key,出现的数目作为value,然后按照value排除后输出 最好按照value从大
本篇章节讲解python统计一个文本中重复行数的方法。分享给大家供大家参考。具体实现方法如下: 比如有下面一个文件 解决问题的思路: 出现的文本作为key,出现的数目作为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]) 补充说明: 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程序设计有所帮助。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |