python list多级排序知识点总结

yipeiwu_com5年前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使用py2exe打包程序介绍

一、简介 py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,这样,你就可以不用装python而在windows系统上运行这个可执行...

eclipse创建python项目步骤详解

eclipse创建python项目步骤详解

eclipse安装Python插件之后,主要是为了方便Python代码就可以再Eclipse进行代码脚本,使用Eclipse开发Python脚本,主要写代码会有提示功能,提高写代码效率,...

对python 中re.sub,replace(),strip()的区别详解

对python 中re.sub,replace(),strip()的区别详解

1.strip(): str.strip([chars]);去除字符串前面和后面的所有设置的字符串,默认为空格 chars -- 移除字符串头尾指定的字符序列。 st = " he...

python 用lambda函数替换for循环的方法

场景如下: 现在有一个dataframe,其中一列为score,值从0-100, df: score 98 88 37 68 86 33 现在需要增加一列level,给这些分数分类,90...

python代码打印100-999之间的回文数示例

python代码打印100-999之间的回文数示例

打印100-999之间的回文数(即百位和个位的数字相等),并每10个打印一行 i = 100 x = 0 # 使用计数器,每10个换行打印 while i <= 999:...