Hey! If you love Python and building Python apps as much as I do, let's connect on Twitter or LinkedIn. I talk about this stuff all the time!

Mastering Python Lists

In this article, we’ll delve into the world of list sorting in Python. You’ll learn how to sort lists using various methods and explore their applications. …


Updated May 14, 2023

In this article, we’ll delve into the world of list sorting in Python. You’ll learn how to sort lists using various methods and explore their applications.

Definition of Sorting

Sorting refers to arranging a collection of items (in this case, a list) in a specific order, either ascending or descending. In the context of lists, sorting involves rearranging elements based on a particular criteria, such as numerical values, string lengths, or custom comparators.

Step-by-Step Explanation: Sorting Lists in Python

Sorting lists in Python is a fundamental concept that can be achieved through various methods. Here’s a step-by-step breakdown:

Method 1: Built-in sort() Function

The most straightforward way to sort a list in Python is by using the built-in sort() function.

my_list = [4, 2, 9, 6, 5]
my_list.sort()
print(my_list)  # Output: [2, 4, 5, 6, 9]

The sort() function sorts the list in-place, meaning it modifies the original list. It returns None, so you don’t need to assign the result to a variable.

Method 2: Using the sorted() Function

Another way to sort a list is by using the sorted() function.

my_list = [4, 2, 9, 6, 5]
sorted_list = sorted(my_list)
print(sorted_list)  # Output: [2, 4, 5, 6, 9]

The sorted() function returns a new sorted list and leaves the original list unchanged.

Method 3: Custom Sorting

If you want to sort lists based on custom criteria, you can use the key argument in both the sort() and sorted() functions.

my_list = [{'name': 'John', 'age': 25}, {'name': 'Alice', 'age': 30}]
my_list.sort(key=lambda x: x['age'])
print(my_list)  # Output: [{'name': 'John', 'age': 25}, {'name': 'Alice', 'age': 30}]

In this example, the list is sorted based on the age key.

Step-by-Step Explanation: Sorting Lists with Specific Criteria

When sorting lists with specific criteria, you need to provide a custom comparator function. Here’s an example:

def compare_strings(s1, s2):
    if len(s1) < len(s2):
        return -1
    elif len(s1) > len(s2):
        return 1
    else:
        return 0

my_list = ['apple', 'banana', 'cherry']
sorted_list = sorted(my_list, key=compare_strings)
print(sorted_list)  # Output: ['apple', 'banana', 'cherry']

In this example, the compare_strings function is used as a custom comparator to sort the list based on string lengths.

Conclusion

Sorting lists in Python is an essential skill that can be achieved through various methods. By using the built-in sort() and sorted() functions, you can sort lists with ease. Additionally, by providing custom comparators, you can sort lists based on specific criteria. Practice makes perfect, so try sorting different types of lists to become proficient in this skill!

Stay up to date on the latest in Python, AI, and Data Science

Intuit Mailchimp