Как работает функция sorted в Python: полное руководство и примеры

Функция sorted() в Python сортирует элементы итерируемого объекта в порядке возрастания или по заданной функции сравнения. Пример 1: Сортировка числового списка

numbers = [4, 2, 7, 1, 5]
sorted_numbers = sorted(numbers)
print(sorted_numbers)  # Выводит: [1, 2, 4, 5, 7]
Пример 2: Сортировка строкового списка

fruits = ['apple', 'banana', 'cherry', 'orange']
sorted_fruits = sorted(fruits)
print(sorted_fruits)  # Выводит: ['apple', 'banana', 'cherry', 'orange']
Можно также использовать функцию сравнения для определения пользовательского порядка сортировки. Например, для сортировки по длине строк:

names = ['Alice', 'Bob', 'Charlie', 'David']
sorted_names = sorted(names, key=len)
print(sorted_names)  # Выводит: ['Bob', 'Alice', 'David', 'Charlie']

Детальный ответ

Что делает функция sorted в Python

Функция sorted() является встроенной функцией в Python, которая используется для сортировки элементов итерируемого объекта в определенном порядке. Она создает новый список (или любой другой итерируемый объект) с отсортированными элементами исходного объекта, не изменяя сам исходный объект.

Синтаксис:

sorted(iterable, key=None, reverse=False)

Где:

  • iterable - итерируемый объект, который нужно отсортировать. Это может быть список, кортеж, строка, словарь или любой другой итерируемый объект.
  • key (необязательный) - функция, которая принимает элемент из итерируемого объекта и возвращает значение, по которому происходит сортировка. По умолчанию используется None, что означает сортировку по значениям элементов.
  • reverse (необязательный) - параметр, указывающий, нужно ли сортировать по убыванию. По умолчанию используется False, что означает сортировку по возрастанию.

Примеры использования:

Пример 1:

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

В этом примере мы имеем список numbers, содержащий неупорядоченные числа. Мы используем функцию sorted() для сортировки чисел в порядке возрастания. Результат сортировки сохраняется в переменной sorted_numbers. Затем мы выводим отсортированный список.

Результат:

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

Пример 2:

fruits = ['apple', 'banana', 'cherry', 'date', 'elderberry']
sorted_fruits = sorted(fruits, key=len)
print(sorted_fruits)

В этом примере у нас есть список фруктов. Мы используем функцию sorted() для сортировки фруктов по длине их названий. Мы передаем функцию len в качестве значения параметра key. Результат сортировки сохраняется в переменной sorted_fruits. Мы выводим отсортированный список фруктов.

Результат:

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

В обоих примерах функция sorted() создает новый список с отсортированными элементами в заданном порядке. Исходные списки numbers и fruits не изменяются.

Можно использовать функцию sorted() для сортировки различных типов данных, включая числа, строки и пользовательские объекты. При необходимости можно задать собственную функцию для определения порядка сортировки с помощью параметра key.

Видео по теме

53 Сортировка коллекций в Python. Метод sort и функция sorted

#59. Особенности сортировки через sort() и sorted() | Python для начинающих

Python 3 #22: сортировка sort() и sorted(), сортировка по ключам

Похожие статьи:

📱 Как скомпилировать программу на питоне под Android

🔧 Как правильно установить интерпретатор Python для начинающих

Что такое срез в Python?

Как работает функция sorted в Python: полное руководство и примеры

🔌 Как безопасно выйти из программы Python? Легкий гайд для новичков 🔒

🔢 Как подсчитать количество слов в списке Python 🐍

Как передаются переменные в Python? Полное руководство с примерами и объяснениями!