Проверяет понимание работы встроенной функции sorted() в Python, включая требования к итерируемым объектам и параметры сортировки.
Функция sorted() в Python принимает итерируемый объект (например, список, строку, кортеж, словарь) и возвращает новый список, содержащий все элементы в отсортированном порядке. Она не изменяет исходный объект, что отличает её от метода .sort(), который сортирует список на месте.
key=len сортирует строки по длине.False). Если True, сортировка выполняется в обратном порядке.# Базовая сортировка списка чисел
numbers = [3, 1, 4, 1, 5, 9]
sorted_numbers = sorted(numbers)
print(sorted_numbers) # [1, 1, 3, 4, 5, 9]
# Сортировка строк по длине
words = ['apple', 'banana', 'cherry', 'date']
sorted_by_len = sorted(words, key=len)
print(sorted_by_len) # ['date', 'apple', 'banana', 'cherry']
# Сортировка словаря по значениям
d = {'a': 3, 'b': 1, 'c': 2}
sorted_dict = sorted(d.items(), key=lambda x: x[1])
print(sorted_dict) # [('b', 1), ('c', 2), ('a', 3)]
# Обратная сортировка
sorted_reverse = sorted(numbers, reverse=True)
print(sorted_reverse) # [9, 5, 4, 3, 1, 1]Итерируемый объект должен поддерживать итерацию и содержать элементы, которые можно сравнивать между собой (например, числа с числами, строки со строками). Если элементы разных типов (например, число и строка), возникнет ошибка TypeError. Для пользовательских объектов необходимо определить методы сравнения (__lt__, __gt__ и т.д.) или использовать параметр key для задания критерия сортировки.
Функция sorted() — универсальный инструмент для сортировки любых итерируемых объектов в Python. Она удобна, когда нужно сохранить исходные данные неизменными, и позволяет гибко настраивать порядок сортировки с помощью параметров key и reverse.