-
先创建一个列表a
- image
-
直接使用sorted方法,返回一个列表就是排序好的
- image
-
假如a是一个由元组构成的列表,这时候就麻烦了,我们需要用到参数key,也就是关键词,看下面这句命令,lambda是一个隐函数,是固定写法,不要写成别的单词;x表示列表中的一个元素,在这里,表示一个元组,x只是临时起的一个名字,你可以使用任意的名字;x[0]表示元组里的第一个元素,当然第二个元素就是x[1];所以这句命令的意思就是按照列表中第一个元素排序
- image
-
按照第二个元素排序:
- image
-
我们还可以使用reverse参数实现倒序排列
- image
高阶用法:
>>a = [[2,3],[4,1],(2,8),(2,1),(3,4)]
>>b = sorted(a,key=lambda x: (x[0], -x[1]))
>>print(b)
[(2, 8), [2, 3], (2, 1), (3, 4), [4, 1]]
key=lambda x:(x[0],x[1]) ,则会根据参数的第一个字段,第二个字段按照正序排列;
key=lambda x:(x[0],-x[1]) ,则会根据参数的第一个字段正序,第二个字段按照逆序排列;
网友评论