Sort a List in Python
In Python, you can sort a list using the sort()
method or the sorted()
function.
Using sort() method
The sort()
method sorts the list in place, modifying the original list. It doesn’t return a new list.
my_list = [50, 10, 40, 20, 30]
my_list.sort()
print(my_list) # Output: [10, 20, 30, 40, 50]
To sort the list in descending order, you can use the reverse
parameter.
my_list = [50, 10, 40, 20, 30]
my_list.sort(reverse=True)
print(my_list) # Output: [50, 40, 30, 20, 10]
The sort()
method is faster than sorted()
function because it modifies the list in place, avoiding the overhead of creating a new list.
Using sorted() function
The sorted()
function returns a new sorted list without modifying the original list.
my_list = [50, 10, 40, 20, 30]
sorted_list = sorted(my_list)
print(sorted_list) # Output: [10, 20, 30, 40, 50]
To sort a list in descending order, you can use the reverse
parameter with the value True
.
my_list = [50, 10, 40, 20, 30]
sorted_list = sorted(my_list, reverse=True)
print(sorted_list) # Output: [50, 40, 30, 20, 10]
Sorting with a key
Both sort()
and sorted()
support a key
parameter, which specifies a function that is applied to each element in the list to determine the sorting criteria.
my_list = ["banana", "apple", "watermelon", "kiwi"]
# Sort by word length
my_list.sort(key=len)
print(my_list) # Output: ['kiwi', 'apple', 'banana', 'watermelon']
You can also do the same with the sorted()
function.
my_list = ["banana", "apple", "watermelon", "kiwi"]
# Sort by word length
new_list = sorted(my_list, key=len)
print(new_list) # Output: ['kiwi', 'apple', 'banana', 'watermelon']
Choosing the right method
Use sort()
method when you want to sort the list directly and modify the original list. It is faster than sorted()
function because it avoids the overhead of creating a new list.
Use sorted()
function if you need a new sorted list without modifying the original list.