• python 字典排序


    python 字典排序

     http://www.cnblogs.com/kaituorensheng/archive/2012/08/07/2627386.html

    引子

    字典,形如 dic = {'a':1 , 'b':2 , 'c': 3},字典中的元素没有顺序,所以dic[0]是有语法错误的。并且不可以有重复的键值,所以 dic.add['c'] = 4后,字典变成 {'a':1 , 'b':2 , 'c': 4}.

    待解决问题

    如何根据需要可以根据“键”或“键值”进行不同顺序的排序?

    函数原型

    sorted(dic,value,reverse)

    • dic为比较函数,value 为排序的对象(这里指键或键值),
    • reverse:注明升序还是降序,True--降序,False--升序(默认)

    案例

    dic = {'a':3 , 'b':2 , 'c': 1}

        

    注意

    排序之后原字典没有变,顺序依旧

         

    两个函数

    1.lambda

    功能: 创建匿名函数

    区别: 和def函数定义,以下两点区别

    • lambda会创建一个函数对象,但不会把这个函数对象赋给一个标识符;而def则会把函数对象赋值给一个变量
    • lambda它只是一个表达式,而def则是一个语句

    案例:

        

    2.iteritems()

    功能: iteritems()以迭代器对象返回字典键值对

    区别: 和item相比:items以列表形式返回字典键值对

    案例:

        

    注释: 在函数sorted(dic.iteritems(), key = lambda asd:asd[1])中,第一个参数传给第二个参数“键-键值”,第二个参数取出其中的键([0])或键值(1])

  • 相关阅读:
    跟我一起玩Win32开发(转自CSDN-东邪独孤)
    c指针讲解
    9×9扫雷游戏代码-C写的
    Winform GDI+ 相关资料
    hadoop datanode 和namenode之间的心跳
    打包 压缩 命令tar zip
    kudu 问题集
    配置NTP服务ntpd/ntp.conf
    kudu 1.8.0(开发版) 源码安装
    hue 集成spark+livy
  • 原文地址:https://www.cnblogs.com/hdflzh/p/4218900.html
Copyright © 2020-2023  润新知