Python字典排序

#!/usr/bin/env python

import os
import sys
import operator

def getFile(dir1):
    d = os.walk(dir1)
    dic = {}
    for a,b,c in d:
        for i in c:
            fn = os.path.join(a,i)
            f_size = os.path.getsize(fn)
            dic[fn] = f_size
    return dic

if __name__ == ‘__main__‘:
    dir1 = sys.argv[1]
    dic = getFile(dir1)
    sorted_dic = sorted(dic.iteritems(),key=operator.itemgetter(1),reverse=True)
    for k,v in sorted_dic[:10]:
        print "%s===>%s" % (k,v)
  1. sorted是排序函数,dic.iteritems()返回一个可迭代的对象,key指定根据K或者Y列来排序,operator.itemgetter(1)表示根据字典Y流排序,operator.itemgetter(0)表示根据字典K列来排序,reverse=True表示倒序排序,默认是False。sorted_dic[:10]表示就列出列表前10位。
时间: 2024-07-31 11:34:34

Python字典排序的相关文章

<转>python字典排序 关于sort()、reversed()、sorted()

一.Python的排序 1.reversed() 这个很好理解,reversed英文意思就是:adj. 颠倒的:相反的:(判决等)撤销的 print list(reversed(['dream','a','have','I'])) #['I', 'have', 'a', 'dream'] 2.让人糊涂的sort()与sorted() 在Python 中sorted是内建函数(BIF),而sort()是列表类型的内建函数list.sort(). sorted() sorted(iterable[,

python 字典排序 关于sort()、reversed()、sorted()

一.Python的排序 1.reversed() 这个很好理解,reversed英文意思就是:adj. 颠倒的:相反的:(判决等)撤销的 print list(reversed(['dream','a','have','I'])) #['I', 'have', 'a', 'dream'] 2.让人糊涂的sort()与sorted() 在Python 中sorted是内建函数(BIF),而sort()是列表类型的内建函数list.sort(). sorted() sorted(iterable[,

python 字典排序

sorted(dic.items(),key=lambda item:item[0]) 相关知识整理 1.sorted() sorted(iterable, key=None, reverse=False) iterable : 可迭代对象 key : 指定一个函数,用于从iterable 中的每个元素中提取某个属性来作为用于比较的关键字.默认值为None. reverse : 默认为Fale,为True时列表元素将被倒序排列 返回一个新的列表 对iterable 进行排序,排序方式由key的函

python字典排序总结

dic = {"abc":18,"adc":19,"abe":20} # 默认对键排序,从小到大,返回排序后键组成的列表 zidian = sorted(dic)#['abc', 'abe', 'adc'] print(zidian) # 对键进行反向(从大到小)排序 zidian = sorted(dic,reverse=True)#['adc', 'abe', 'abc'] print(zidian) # 拿到所有的key,然后再对key排序

python 对字典"排序"

对字典进行排序?这其实是一个伪命题,搞清楚python字典的定义---字典本身默认以key的字符顺序输出显示---就像我们用的真实的字典一样,按照abcd字母的顺序排列,并且本质上各自没有先后关系,是一个哈希表的结构: 但实际应用中我们确实有这种排序的"需求"-----按照values的值"排序"输出,或者按照别的奇怪的顺序进行输出,我们只需要把字典转化成list或者tuple,把字典每一对键值转化为list中的两位子list或者子tuple再输出,就可以达到我们的

Python 字典 列表 嵌套 复杂排序大全

https://blog.csdn.net/ray_up/article/details/42084863 一: 字典排序 解析: 使用sorted 方法, 排序后的结果为一个元组. 可以字符串排序(那数字肯定更没问题了!) 1:  按照键值(value)排序 a = {'a': 'China', 'c': 'USA', 'b': 'Russia', 'd': 'Canada'}b = sorted(a.items(), key=lambda x: x[1], reverse=True)结果:[

按照字典排序

按照字典排序, 按照字典的value排序,类似sort -k命令 import operator x = {1:2,3:4, 4:3, 2:1, 0:0} sorted x =sorted(x.iteritems(), key = operator.itemgetter(1)) 0表示根据key排序,1表示根据value排序 In [33]: sorted(x.iteritems(),key=operator.itemgetter(0))                             

python sorted排序

python sorted排序 Python不仅提供了list.sort()方法来实现列表的排序,而且提供了内建sorted()函数来实现对复杂列表的排序以及按照字典的key和value进行排序. sorted函数原型 sorted(data, cmp=None, key=None, reverse=False) #data为数据 #cmp和key均为比较函数 #reverse为排序方向,True为倒序,False为正序 基本用法 对于列表,直接进行排序 >>> sorted([5, 2

python字典(dictionary)使用:不常用的基本函数例子

python字典dictionary,以前有过介绍,现就几个不常用函数写测试例子, 字典声明如,a={}; [python]dictionary方法说明:参考:http://blog.csdn.net/wangran51/article/details/8440848 Operation Result Notes len(a) the number of items in a 得到字典中元素的个数   a[k] the item of a with key k 取得键K所对应的值 (1), (1