优草派  >   Python

Python列表里的字典排序怎么做?Python中列表内字典如何排序

罗西汉            来源:优草派

python之中的列表数据结构因为能够保存任意类型以及任意数量的元素而被经常使用,所以在有些情况下列表内也有可能是会保存多个字典对象的。而列表里字典排序的话就要使用到sort()函数的另外一个用法了,下面这篇文章会来给大家介绍一下python列表内字典对象排序的方法。

Python列表里的字典排序怎么做?Python中列表内字典如何排序

那么首先先定义出来一个列表对象,该列表内包含了四个字典元素。所有字典的格式都是相同的,否则无法根据关键词来排序了,示例如下:

alldate = [{'学号': 2.0, '科目': '数学', '成绩': 77.0},
           {'学号': 3.0, '科目': '语文', '成绩': 78.0},
           {'学号': 1.0, '科目': '数学', '成绩': 90.0},
           {'学号': 4.0, '科目': '英语', '成绩': 76.0}]

一、升序排序

一般来说使用sort()方法对列表进行排序操作时默认都是升序的,所以不需要去设置reverse参数。不过要对列表内字典元素进行排序操作就得使用到另外一个参数key了,代码示例如下所示:

alldate.sort(key=lambda x: (x['成绩']))

key参数的值是从列表内的可迭代对象中取出来的一个元素,就是使用它来进行比较从而实现列表排序的。上面代码示例之中通过匿名函数将访问到了字典元素,然后从中取出了字典键成绩的值进行比较,那么就会按照这个值的大小来升序排序了。降序排序也是同理,只不过需要设置参数reverse=True。

二、多条件排序

当字典之中有多个键值对存在时,就可以获取多个键的值来进行排序比较,代码如下所示:

alldate.sort(key=lambda x: (x['成绩'], x['科目']))

以上就是关于“Python列表里的字典排序怎么做?Python中列表内字典如何排序”的全部内容了,希望对你有所帮助。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行