To sort a List in Python in an ascending order:
my_list.sort()
To sort a List in a descending order:
my_list.sort(reverse=True)
4 Cases of Sorting a List
Case 1: Sort a List in an Ascending Order
To start, create a List of names:
names = ["Jon", "Maria", "Bill", "Liam", "Emma"]
print(names)
The resulted List:
['Jon', 'Maria', 'Bill', 'Liam', 'Emma']
To sort the List of names in an ascending order using names.sort():
names = ["Jon", "Maria", "Bill", "Liam", "Emma"]
names.sort()
print(names)
The List is now sorted in an ascending order, where “Bill” is the first name, while “Maria” is the last:
['Bill', 'Emma', 'Jon', 'Liam', 'Maria']
Case 2: Sort a List in a Descending Order
Alternatively, sort the List in a descending order by setting reverse=True:
names = ["Jon", "Maria", "Bill", "Liam", "Emma"]
names.sort(reverse=True)
print(names)
Now “Maria” is the first name, while “Bill” is the last:
['Maria', 'Liam', 'Jon', 'Emma', 'Bill']
Case 3: Sort a List of Lists
Suppose that you have the following List of Lists:
people_list = [
["Jon", "Brazil", 21],
["Maria", "Iceland", 38],
["Bill", "Spain", 42],
["Liam", "Japan", 28],
["Emma", "Italy", 51],
]
print(people_list)
The resulted List of Lists:
[['Jon', 'Brazil', 21], ['Maria', 'Iceland', 38], ['Bill', 'Spain', 42], ['Liam', 'Japan', 28], ['Emma', 'Italy', 51]]
To sort the List of Lists in an ascending order:
people_list = [
["Jon", "Brazil", 21],
["Maria", "Iceland", 38],
["Bill", "Spain", 42],
["Liam", "Japan", 28],
["Emma", "Italy", 51],
]
people_list.sort()
print(people_list)
As you can see, the List of Lists is sorted based on the first name:
[['Bill', 'Spain', 42], ['Emma', 'Italy', 51], ['Jon', 'Brazil', 21], ['Liam', 'Japan', 28], ['Maria', 'Iceland', 38]]
Case 4: Sort a List of Lists for a Specific Column/Index
To sort the List of Lists based on the “Age” column (which has the index of “2“):
people_list = [
["Jon", "Brazil", 21],
["Maria", "Iceland", 38],
["Bill", "Spain", 42],
["Liam", "Japan", 28],
["Emma", "Italy", 51],
]
people_list.sort(key=lambda i: i[2])
print(people_list)
The List of Lists is now sorted based on the “Age”:
[['Jon', 'Brazil', 21], ['Liam', 'Japan', 28], ['Maria', 'Iceland', 38], ['Bill', 'Spain', 42], ['Emma', 'Italy', 51]]
Check the following guide that explains how to sort Pandas DataFrame.