Last modified: Oct 28, 2024 By Alexander Williams
Python Sort List: A Complete Guide
Sorting lists in Python is essential for organizing data. Python provides multiple methods to sort lists quickly and efficiently.
Table Of Contents
Basic Sorting with sort()
The sort()
method sorts a list in-place in ascending order by default. This method changes the original list.
numbers = [4, 2, 9, 1]
numbers.sort()
After sorting, numbers
becomes [1, 2, 4, 9]. Note that sort()
does not return a new list.
Sorting in Descending Order
To sort a list in descending order, set the reverse
parameter of sort()
to True.
numbers.sort(reverse=True)
This will reorder numbers
to [9, 4, 2, 1].
Sorting with sorted()
sorted()
returns a new sorted list, leaving the original list unchanged. It is ideal when you need a temporary sort.
sorted_numbers = sorted(numbers)
Here, sorted_numbers
is a sorted copy, while numbers
remains the same.
Custom Sorting with key Parameter
You can define custom sort criteria using the key
parameter, which accepts a function to customize the sort order.
words = ["banana", "apple", "kiwi"]
words.sort(key=len)
This sorts words
based on length, resulting in ["kiwi", "apple", "banana"].
Sorting a List of Lists
To sort a list of lists by elements within each sublist, use key
with lambda
for custom sorting.
pairs = [[1, 3], [2, 2], [4, 1]]
pairs.sort(key=lambda x: x[1])
This sorts pairs
by the second element in each sublist, resulting in [[4, 1], [2, 2], [1, 3]].
Sorting Lists of Strings
String lists are sorted alphabetically by default. sort()
and sorted()
both work with strings.
fruits = ["orange", "apple", "banana"]
fruits.sort()
This changes fruits
to ["apple", "banana", "orange"]. For more on lists, see Creating Lists in Python: A Beginner's Guide.
Conclusion
Python’s sorting functions offer flexibility for organizing data, allowing sorting by order, data type, or custom conditions.
For a detailed overview, check the official Python sorting documentation for more techniques and examples.