Home >Backend Development >Python Tutorial >`sorted(list)` vs. `list.sort()`: What\'s the Difference and When Should I Use Each?

`sorted(list)` vs. `list.sort()`: What\'s the Difference and When Should I Use Each?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-18 19:17:02865browse

`sorted(list)` vs. `list.sort()`: What's the Difference and When Should I Use Each?

Understanding the Difference between sorted(list) and list.sort()

In Python, sorting lists is a common task. Two commonly used methods for doing so are sorted(list) and list.sort(). While both methods result in a sorted list, they differ significantly in their functionality and usage.

Functionality

  • sorted(list): Returns a new, sorted list. It does not modify the original list.
  • list.sort(): Sorts the list in-place. It modifies the original list and returns None.

Use Cases

  • sorted(list) should be preferred when you want to retain the original order of elements and obtain a sorted copy.
  • list.sort() should be used when you only need a sorted version of the list and don't mind modifying the original list.

Efficiency

  • For lists, list.sort() is more efficient than sorted(list) because it operates in-place, avoiding the creation of a new list.
  • For other iterables (such as strings, tuples, etc.), sorted(list) must be used as list.sort() is not applicable to non-lists.

Reverting to Original State

  • sorted(list) does not modify the original list, so the original order of elements is preserved.
  • list.sort() sorts the list in-place, and there is no way to retrieve the original order of elements.

Conclusion

sorted(list) and list.sort() serve different purposes. sorted(list) returns a new, sorted copy of an iterable, while list.sort() sorts the list in-place, making it suitable for situations where you want to mutate the original list. The choice between these methods depends on the desired functionality and whether preserving the original order is a concern.

The above is the detailed content of `sorted(list)` vs. `list.sort()`: What's the Difference and When Should I Use Each?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn