How to sort each list in a list of lists

Viewed 231

How can I sort the lists in the following nested list? Function sort works only on normal lists.

lst = [[123,3,12],[89,14,2],[901,4,67]]

Expected result:

[[3,12,123],[2,14,89],[4,67,901]] 
4 Answers

This is a very straightforward way to do it without any packages (list comprehension)

lst_sort = [sorted(item) for item in lst]

try this:

lst = [[123,3,12],[89,14,2],[901,4,67]]

for element in lst:
    element.sort()

print(lst)

Loop through each item and sort separately.

Here's a functional way to achieve this using map() with sorted() as:

>>> lst = [[123,3,12],[89,14,2],[901,4,67]]

>>> list(map(sorted, lst))
[[3, 12, 123], [2, 14, 89], [4, 67, 901]]

To know more about these functions, refer:

Just sort each sub list independently:

lst = [[123,3,12],[89,14,2],[901,4,67]]
lst = [sorted(sub) for sub in lst]
Related