Reference Materials
Certification Courses
Created with over a decade of experience and thousands of feedback.
Python List sort()
In this tutorial, we will learn about the Python sort() method with the help of examples.
The sort() method can be used to sort a list in either ascending or descending order. It also allows us to sort a list based on a function (such as len() to sort a list based on length of its items).
Here's a quick example:
numbers = [11, 3, 7, 5, 2]
# Sort in ascending order
numbers.sort()
print(f'Ascending order: {numbers}')
# Sort in descending order
numbers.sort(reverse=True)
print(f'Descending order: {numbers}')
Output
Ascending order: [2, 3, 5, 7, 11] Descending order: [11, 7, 5, 3, 2]
sort() Syntax
The syntax of sort() is:
numbers.sort(reverse=False, key=None)
Arguments
sort() allows two optional keyword arguments:
reverse- If omitted, defaults toFalse. IfTrueis passed, list is sorted in descending order.key- If omitted, defaults toNone. If a function is passed askey, items are sorted based on values returned by the function.
Return Value
sort() doesn't return any value (returns None).
Example: Sorting String Items
If a list contains strings as its items, sort() arranges them in alphabetical order.
models = ["Gemini", "ChatGPT", "Claude"]
# Sort in alphabetical order
models.sort()
print(f'Alphabetical: {models}')
# Sort in reverse alphabetical order
models.sort(reverse=True)
print(f'Reverse alphabetical: {models}')
Output
Alphabetical: ['ChatGPT', 'Claude', 'Gemini'] Reverse alphabetical: ['Gemini', 'Claude', 'ChatGPT']
Note: If a list contains both strings and numbers, sort() raises TypeError because they are not comparable.
Example: Sort Based on String's Length
As mentioned, sort() takes an optional key argument, which allows us to sort items based on a function.
For example, passing len as key sorts the items based on their length. It's because len() returns the length of a string.
models = ["Gemini", "Opus", "Kimi K3"]
# Sort by length
models.sort(key=len)
print(models)
# Sort by length in reverse order
models.sort(reverse=True, key=len)
print(models)
Output
['Opus', 'Gemini', 'Kimi K3'] ['Kimi K3', 'Gemini', 'Opus']
Example: Sort Based on a Function
We can also sort items based on a custom function. In this example, we'll use a lambda function to sort a list of tuples.
models = [("Claude", 2023), ("DeepSeek", 2025), ("ChatGPT", 2022)]
# Sort based on release date
models.sort(key=lambda model: model[1])
print(models)
# Sort by latest release date
models.sort(key=lambda model: model[1], reverse=True)
print(models)
Output
[('ChatGPT', 2022), ('Claude', 2023), ('DeepSeek', 2025)]
[('DeepSeek', 2025), ('Claude', 2023), ('ChatGPT', 2022)]
Here, our function lambda model: model[1] returns the second element of a tuple, which is the release date. The sort() function sorts the list items (tuples) based on it.
Also Read:
- Python sorted() Function - Sort items of any iterable and return a list.
- Python list reverse() - Reverse items of a list.