What’s the difference between Sort and Sorted in Python

Learn to Code Today!

Learn 10x faster: coding, no-code and data skills. Join millions of users mastering new tech skills and accelerating their career with Enki.
Get started

Python is your go-to language for modern data manipulation and management tasks. One common scenario you’ll encounter is the need to order your data. In Python, you have two powerful tools at your disposal: sort() and sorted(). This tutorial will pave the way for understanding their differences, using them efficiently, and making informed decisions for your projects.

Stay tuned on Enki.com for more in-depth articles, tutorials, and hands-on coding practices to boost your tech career.

What is Python sort()

The sort() method is your in-place solution for ordering data in a list. When invoked, sort() rearranges the elements of the original list and returns None. This method is efficient in terms of memory usage as it doesn’t require an additional sorted data structure.

Key Parameters of sort():

  • key (optional): Define a function to be executed on each item for customization of sorting logic. For example, key=len sorts strings by their length.
  • reverse (optional, default is False): If set to True, sorts the list in descending order.

Example Usage

By understanding sort(), you're equipped to modify your lists directly, ensuring a concise and memory-efficient approach to data sorting tasks in Python.

What is Python sorted()

The sorted() function is your go-to for creating a new, sorted list from an iterable like a list, tuple, or dictionary.

Unlike sort(), which modifies the original list in place, sorted() returns a new list, leaving the original data untouched. This is crucial for maintaining data integrity when you need the original unsorted list for other operations.

Key Parameters of sorted()

  • key (optional): Specify a function to apply to each element before sorting. For example, key=len sorts strings by their length.
  • reverse (optional, default is False): When True, sorts elements in descending order.

Example Usage

The sorted() function excels when you need to create a new sorted list without modifying the original data. It’s perfect for scenarios where data integrity is non-negotiable and you need a reliable, unaltered copy of your data.

Sorting Different Data Structures

Python's versatility extends beyond just lists; its sorting capabilities can be applied to various data structures, including tuples and dictionaries. Mastering these techniques empowers you to handle diverse data manipulation tasks fluidly.

Lists

Sorting a list in Python is intuitive:

sort() modifies the original list, while sorted() offers a sorted copy, maintaining the original list intact.

Tuples

Although tuples are immutable, you can sort them by converting them to lists first, or directly using sorted():

This keeps the original tuple unmodified, showcasing the flexibility of sorted().

Dictionaries

Sorting dictionaries involves special considerations, often sorting by keys or values:

Leveraging sorted() with a custom key function offers granular control over sorting criteria, making it a powerful tool for managing complex data structures.

For more tutorials and insights on Python and many other programming languages, visit Enki.com, your ultimate learning companion. Stay ahead in your tech career with our in-depth articles, tutorials, and hands-on coding practices.

About Enki

  • Fully personalized online up-skilling
  • Unlimited AI coaching
  • Designed by Silicon Valley experts

More articles