HomepythonHow to Sort a List in Python

How to Sort a List in Python

Sorting a list is a common task in programming, and Python provides several ways to do this efficiently. Whether you need to sort numbers, strings, or custom objects, Python’s built-in functions and methods make it straightforward. In this article, we will explore various methods to sort a list in Python, including basic sorting, reverse sorting, and custom sorting using key functions.

Using the sort() Method

The sort() method sorts the list in place, meaning it modifies the original list. By default, it sorts the list in ascending order.

Example:

numbers = [4, 2, 9, 1, 5, 6]
numbers.sort()
print(numbers)

Output:

[1, 2, 4, 5, 6, 9]

Sorting Strings:

fruits = ["apple", "banana", "cherry", "date"]
fruits.sort()
print(fruits)

Output:

['apple', 'banana', 'cherry', 'date']

Sorting in Reverse Order:

To sort in descending order, use the reverse parameter:

numbers = [4, 2, 9, 1, 5, 6]
numbers.sort(reverse=True)
print(numbers)

Output:

[9, 6, 5, 4, 2, 1]

Using the sorted() Function

The sorted() function returns a new list that is a sorted version of the original list, leaving the original list unchanged.

Example:

numbers = [4, 2, 9, 1, 5, 6]
sorted_numbers = sorted(numbers)
print(sorted_numbers)
print(numbers)

Output:

[1, 2, 4, 5, 6, 9]
[4, 2, 9, 1, 5, 6]

Sorting in Reverse Order:

numbers = [4, 2, 9, 1, 5, 6]
sorted_numbers = sorted(numbers, reverse=True)
print(sorted_numbers)

Output:

[9, 6, 5, 4, 2, 1]

Sorting with a Custom Key

Both sort() and sorted() accept a key parameter, which allows you to define a function that extracts a comparison key from each list element. This is useful for complex sorting criteria.

Example: Sorting by Length of Strings

fruits = ["apple", "banana", "cherry", "date"]
fruits.sort(key=len)
print(fruits)

Output:

['date', 'apple', 'banana', 'cherry']

Example: Sorting by Custom Criteria

Suppose you have a list of tuples representing people with their names and ages, and you want to sort by age.

people = [("Alice", 30), ("Bob", 25), ("Charlie", 35)]
people.sort(key=lambda person: person[1])
print(people)

Output:

[('Bob', 25), ('Alice', 30), ('Charlie', 35)]

Case-Insensitive Sorting

When sorting strings, you might want to perform a case-insensitive sort. This can be done by using the str.lower method as the key.

Example:

fruits = ["apple", "Banana", "cherry", "Date"]
fruits.sort(key=str.lower)
print(fruits)

Output:

['apple', 'Banana', 'cherry', 'Date']

Sorting lists in Python can be done in various ways, depending on your needs:

  • sort() method: Sorts the list in place and modifies the original list.
  • sorted() function: Returns a new sorted list without changing the original list.
  • Custom sorting with key: Allows sorting based on custom criteria using a key function.
  • Reverse sorting: Sorts the list in descending order using the reverse parameter.
Subscribe
Notify of

0 Comments
Inline Feedbacks
View all comments

Popular