Python利用lambda对列表排序方法

1.对单个变量进行排序

l = [[5,11],[5,66],[3,4]]
l.sort(key = lambda x : x[1]) #x[1]为列表中每个列表索引为1的值
print(l)
#[[3, 4], [5, 11], [5, 66]]

2. 对列表中多个变量进行不同排序

l1 = [[5,11],[52,66],[3,4]]
l1.sort(key = lambda x : (x[1],x[0])) #x[1],x[0]先以列表中每个列表索引为1的值排序,在以列表中每个列表索引为0的值排序
print(l1)
#[[3, 4], [5, 11], [52, 66]]

3. 升降排列

l2=[[33,44,55],[22,65,123],[111,432,56]]
l2.sort(key=lambda x:(x[0],x[1]),reverse=True)#以元素的第0个元素降序排列,再以第1个元素降序排列
print(l2)
#[[111, 432, 56], [33, 44, 55], [22, 65, 123]]

当然单个排序直接用sort和sorted就好

你可能感兴趣的:(排序算法,算法)