Skip to content Skip to sidebar Skip to footer

Sort A 2d List First By 1st Column And Then By 2nd Column

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,4], [2,7], [10,1], [

Solution 1:

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]]

Post a Comment for "Sort A 2d List First By 1st Column And Then By 2nd Column"