sort a 2D list first by 1st column and then by 2nd column

前端 未结 1 411
野的像风
野的像风 2021-01-04 20:28

I am trying to find a nice way to sort a 2d list , first by the 1st value , and then by the 2nd value.

I think an example will be the best If I have a list



        
相关标签:
1条回答
  • 2021-01-04 21:30
    l=[[1,4],
    [2,7],
    [10,1],
    [1,2],
    [10,6],
    [2,1]]
    print sorted(l,key=lambda x: (x[0],x[1])) # use lambda to sort by "x[0]"-> first element of the sublists or x[1] -> second element, if its a tie
    [[1, 2], [1, 4], [2, 1], [2, 7], [10, 1], [10, 6]]
    

    Or simply sorted(l) of l.sort() as your elements sort naturally.

    A better example would be to sort by the second value only:

    print sorted(l,key=lambda x: (x[1]))
    [[10, 1], [2, 1], [1, 2], [1, 4], [10, 6], [2, 7]]
    
    0 讨论(0)
提交回复
热议问题