二维数组排序
A = [[1, 2], [1, 3], [2, 3], [3, 4]]
- 按照每个元素中的第一个元素排序(第n个元素同理)
sorted_A = sorted(A, key=lambda x: x[0]) # default ascending
sorted_A = sorted(A, key=lambda x: x[0], reverse=True) # change to descending
- 如果第一个元素的大小相同,按照第二个(第三个,第四个…第n个同理…)
sorted_A = sorted(A, key=lambda x: (x[0], x[1])) # both in ascending order
sorted_A = sorted(A, key=lambda x:(x[0], x[1]), reverse=True) #both in descening order
sorted_A = sorted(A, key=lambda x:(-x[0], x[1])) # the first in descending order, the second in ascending
Above⬆️ 是在方法中强行指明了要按照哪一个元素,Actually,python本身的排序就是lexicographical comparison,简单说就是它默认就会先按照第一个元素,在第一个元素一样的时候,依次按照后面的元素排列…所以说直接用sorted或者.sort()就可以啦✌️