字典排序

作者: 羽恒 | 来源:发表于2017-07-16 15:05 被阅读42次

    原型函数:sorted(dict,value,reverse)

    • dict:dict为比较函数
    • value:为排序对象(这里指键或键值)
    • reverse:注明升序还是降序,True--降序、False--升序
      注:排序后,字典顺序未发生变化

    如果“键值”对中值字典的某一特定键不存在,咋处理呢

    eg:
     >>>a = {'a':{'val':3}, 'b':{'val':4}, 'c':{'val':1}, 'd':{'val2':0}}
     >>>dict=sorted(a.iteritems(),key=lambda d:d[1]['val'].reverse=True)
     >>>dict
    KeyError:'val'
     >>>dict=sorted(a.iteritems(),keylambda d:d[1].get('val',0),reverse=True)
     >>>dict
    [('b', {'val': 4}), ('a', {'val': 3}), ('c', {'val': 1}), ('d', {'val2': 0})]
    

    功能: 创建匿名函数

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

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

    2.iteritems:
    功能: iteritems()以迭代器对象返回字典键值对
    区别: 和item相比:items以列表形式返回字典键值对

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

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

    相关文章

      网友评论

        本文标题:字典排序

        本文链接:https://www.haomeiwen.com/subject/brgtkxtx.html