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调用tcpdump抓包过滤的方法

python调用tcpdump抓包过滤的方法

本文实例为大家分享了python调用tcpdump抓包过滤的具体代码,供大家参考,具体内容如下 之前在linux用python脚本写一个抓包分析小工具,实在不想用什么libpcap、py...

python 简单搭建阻塞式单进程,多进程,多线程服务的实例

我们可以通过这样子的方式去理解apache的工作原理 1 单进程TCP服务(堵塞式) 这是最原始的服务,也就是说只能处理个客户端的连接,等当前客户端关闭后,才能处理下个客户端,是属于阻塞...

Tensorflow卷积神经网络实例进阶

Tensorflow卷积神经网络实例进阶

在Tensorflow卷积神经网络实例这篇博客中,我们实现了一个简单的卷积神经网络,没有复杂的Trick。接下来,我们将使用CIFAR-10数据集进行训练。 CIFAR-10是一个经...

Python中Subprocess的不同函数解析

以前我一直用os.system()处理一些系统管理任务,因为我认为那是运行linux命令最简单的方式. 我们能从Python官方文档里读到应该用subprocess 模块来运行系统命令....

使用Python制作一个打字训练小工具

使用Python制作一个打字训练小工具

一、写在前面   说道程序员,你会想到什么呢?有人认为程序员象征着高薪,有人认为程序员都是死肥宅,还有人想到的则是996和 ICU。      别人眼中的程序员:飞快的敲击键盘、酷炫的切...