# python – Sorting list of lists by the first element of each sub-list

## python – Sorting list of lists by the first element of each sub-list

Use sorted function along with passing anonymous function as value to the key argument. `key=lambda x: x[0]` will do sorting according to the first element in each sublist.

``````>>> lis = [[1,4,7],[3,6,9],[2,59,8]]
>>> sorted(lis, key=lambda x: x[0])
[[1, 4, 7], [2, 59, 8], [3, 6, 9]]
``````

If youre sorting by first element of nested list, you can simply use `list.sort()` method.

``````>>> lis = [[1,4,7],[3,6,9],[2,59,8]]
>>> lis.sort()
>>> lis
[[1, 4, 7], [2, 59, 8], [3, 6, 9]]
``````

If you want to do a reverse sort, you can use `lis.reverse()` after `lis.sort()`

``````>>> lis.reverse()
>>> lis
[[3, 6, 9], [2, 59, 8], [1, 4, 7]]
``````

#### python – Sorting list of lists by the first element of each sub-list

``````li = [[1,4,7],[3,6,9],[2,59,8]]
li.sort(key=lambda x: int(x[0]))
``````

This will sort in place changing the original list though. If you want to keep the original list, it is better to use:

``````sorted(li, key = lambda x: int(x[0]))
``````