Python字典字典列表嵌套字典排序

Posted 韩搏

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python字典字典列表嵌套字典排序相关的知识,希望对你有一定的参考价值。

正常字典排序

  • 正常的字典,其排序如下:
    a=100:1,101:0,102:2
    b=sorted(a.items(),key=lambda x:x[1])
    
  • 输出
    [(101, 0), (100, 1), (102, 2)]
    
    理解了上面这个key的含义,lambda可以理解为一个函数,输出为x:x[1],即字典的第一个值,合起来就是以字典的第一个值作为key排序。

嵌套字典排序

  • 如果是嵌套字典,排序如下
    a=100:'x':1,'y':2,101:'x':2,'y':0,102:'x':0,'y':3
    b=sorted(a.items(),key=lambda x:x[1]['x'])
    
  • 输出
    [(102, 'x': 0, 'y': 3), (100, 'x': 1, 'y': 2), (101, 'x': 2, 'y': 0)]
    
  • 如果想要设置主序和次序,可以如下:
    key=lambda item: (-item[1][3], item[1][1], -item[1][2]))
    

字典列表排序

  • 字典列表,排序如下:
    a = ['x': 0, 'y': 3, 'x': 1, 'y': 2,'x': 2, 'y': 0]
    a.sort(key=lambda i: i["x"],reverse=True)
    
  • reverse=True 倒序

以上是关于Python字典字典列表嵌套字典排序的主要内容,如果未能解决你的问题,请参考以下文章

Python字典字典列表嵌套字典排序

学不会的python之通过某几个关键字排序分组一个字典列表(列表中嵌套字典)

学不会的python之通过某几个关键字排序分组一个字典列表(列表中嵌套字典)

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

在Python列表中对嵌套字典进行排序? [复制]

如何一次对字典或列表中的所有嵌套字典和列表进行排序?