python list多级排序知识点总结

yipeiwu_com6年前Python基础

在python3的sorted中去掉了cmp参数,转而推荐“key+lambda”的方式来排序。

如果需要对python的list进行多级排序。有如下的数据:

list_num = [[12,3],[18,34],[18,10],[12,45],[18,10],[8,34]]

需要从小到大的排序。先比较第一个数,如果第一个数相等的话比较第二个数。代码如下:

#默认的sort函数会先对第一个比较,如果第一个相等再比较第二个
print(sorted(list_num))
//OUTPUT:[[8, 34], [12, 3], [12, 45], [18, 10], [18, 10], [18, 34]]
#先用第二个数排序,若相等再用第一个数排序
print(list_num, key = lambda x:(int(x[0]),int(x[1])))
 
//output:[[12, 3], [18, 10], [18, 10], [8, 34], [18, 34], [12, 45]]

因为sort函数是安装list中数据的先后顺序进行排序的;因此使用lambda将list中数据的位置进行调换就可以对数据安装某些位置的排序。

以上就是本次介绍的全部相关知识点,感谢大家的阅读和对【听图阁-专注于Python设计】的支持。

相关文章

Python定义二叉树及4种遍历方法实例详解

Python定义二叉树及4种遍历方法实例详解

本文实例讲述了Python定义二叉树及4种遍历方法。分享给大家供大家参考,具体如下: Python & BinaryTree 1. BinaryTree (二叉树) 二叉树是有限个元素的...

基于Python List的赋值方法

Python中关于对象复制有三种类型的使用方式,赋值、浅拷贝与深拷贝。他们既有区别又有联系,刚好最近碰到这一类的问题,研究下。 一、赋值 在python中,对象的赋值就是简单的对象引用,...

pytorch:实现简单的GAN示例(MNIST数据集)

我就废话不多说了,直接上代码吧! # -*- coding: utf-8 -*- """ Created on Sat Oct 13 10:22:45 2018 @author: w...

详解python的webrtc库实现语音端点检测

详解python的webrtc库实现语音端点检测

引言 语音端点检测最早应用于电话传输和检测系统当中,用于通信信道的时间分配,提高传输线路的利用效率.端点检测属于语音处理系统的前端操作,在语音检测领域意义重大. 但是目前的语音端点检...

Python while、for、生成器、列表推导等语句的执行效率测试

一个功能的实现,可以用多种语句来实现,比如说:while语句、for语句、生成器、列表推导、内置函数等实现,然而他们的效率并不一样。写了一个小程序来测试它们执行的效率。 测试内容: 将...