比如有下面一个文件
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(): >>> d >>> from collections import OrderedDict >>> for k, v in d_sorted_by_value.items(): >>> d_sorted_by_value |
代码如下:
代码如下 | 复制代码 |
#coding=utf-8 import operator f = open("f.txt") for line in f.readlines(): sorted_count_dict = sorted(count_dict.iteritems(), key=operator.itemgetter(1), reverse=True) for item in sorted_count_dict: |
补充说明:
1.python的dict对象的两个方法:
items方法将所有的字典项以列表的方式返回, 这些列表项中每一项都来自于(键, 值)
iteritems方法与items的作用大致相同, 但是返回一个迭代器对象而不是列表
2.python的内建函数sorted
代码如下 | 复制代码 |
>>> help(sorted) Help on built-in function sorted in module __builtin__: sorted(...) |