字典排序

原型函数: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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 引用地址:地址 1 sorted函数按key值对字典排序 先来基本介绍一下sorted函数,sorted(iter...
    南山欧巴阅读 1,810评论 0 0
  • http://python.jobbole.com/85231/ 关于专业技能写完项目接着写写一名3年工作经验的J...
    燕京博士阅读 7,632评论 1 118
  • import operator 按字典值排序(默认为升序) 如果要降序排序,可以指定reverse=True 或...
    大女表哥阅读 182评论 0 0
  • python3 字典排序 说实话,对字典进行排序,这个说法本身就有问题,实际上,你无法对操纵字典说,字典,在你的底...
    Yihulee阅读 2,331评论 0 0
  • 通过lambda表达式控制按照哪个字段排序 >>> test_dict = {'15':'a','10':'b',...
    shun_li阅读 1,629评论 0 50