zoukankan      html  css  js  c++  java
  • python学习:字典排序

    按字典值排序
     
    按照字典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))
    In [38]: sorted_x
    Out[38]: [(0, 0), (2, 1), (1, 2), (4, 3), (3, 4)]
     
     
    sorted_y = sorted(x.iteritems(),
    key=operator.itemgetter(1),reverse=True)
     
    找出占用空间大的文件
     
    os.walk
    os.path.getsize
    dict sort(top10)
     
     
    #!/usr/bin/env python
     
    import os
    import sys
    import operator
     
    def gen_dic(topdir):
        dic = {}
        a = os.walk(topdir)
        for p, d, f in a:
            for i in f:
                fn = os.path.join(p, i)
                f_size = os.path.getsize(fn)
                dic[fn] = f_size
        return dic
     
    if __name__ == '__main__':
        dic =  gen_dic(sys.argv[1])
        sorted_dic = sorted(dic.iteritems(), key=operator.itemgetter(1),reverse=True)
        for k, v in sorted_dic[:10]:
            print k, '---->',v
     
    [root@web10 day2]# python 4_top10.py .
    ./2_walk.py ----> 781
    ./3_dup.py ----> 727
    ./4_top10.py ----> 484
    ./1_md5sum.py ----> 421
    ./3_yield.py ----> 127
    ./test/a ----> 0
    ./test/b ----> 0
     
     
    [root@web10 day2]# python 4_top10.py /etc
    /etc/selinux/targeted/policy/policy.24 ----> 8377047
    /etc/selinux/targeted/modules/active/policy.kern ----> 8377047
    /etc/pki/tls/certs/ca-bundle.trust.crt ----> 1066943
    /etc/pki/tls/cert.pem ----> 877042
    /etc/pki/tls/certs/ca-bundle.crt ----> 877042
    /etc/alternatives/libnssckbi.so.x86_64 ----> 709880
    /etc/services ----> 641020
    /etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt ----> 359773
    /etc/selinux/targeted/modules/active/file_contexts.template ----> 296225
    /etc/selinux/targeted/modules/active/file_contexts ----> 290594
     
     
     
  • 相关阅读:
    Python连接MySQL数据库之pymysql模块使用
    线程
    进程
    网络编程
    面向对象进阶
    迭代器,生成器,装饰器
    函数的基础
    Andy's First Dictionary UVA
    Stripies POJ
    Soldier and Badges CodeForces
  • 原文地址:https://www.cnblogs.com/weifeng1463/p/7520603.html
Copyright © 2011-2022 走看看