sorted
Функция sorted() возвращает новый отсортированный список из элементов переданного итерируемого объекта.
Синтаксис
sorted(iterable, *, key=None, reverse=False)
Аргументы
- iterable:
- Что означает: Итерируемый объект для сортировки.
- key (необязательный):
- Что означает: Функция, определяющая ключ сортировки.
- reverse (необязательный):
- Что означает: Если True, сортировка выполняется в обратном порядке.
Возвращаемое значение
Новый список, содержащий отсортированные элементы.
Примеры использования
print(sorted([3, 1, 2])) # Вывод: [1, 2, 3]
print(sorted("hello")) # Вывод: ['e', 'h', 'l', 'l', 'o']
print(sorted(["apple", "banana", "cherry"], key=len)) # Вывод: ['apple', 'cherry', 'banana']
Эквивалентный код
def pyplanet_sorted(iterable, *, key=None, reverse=False):
result = list(iterable)
result.sort(key=key, reverse=reverse)
return result
Частые ошибки
Попытка сортировки объектов, которые нельзя сравнивать:
print(sorted([1, "a", 2])) # Ошибка: TypeError
Часто задаваемые вопросы
- Можно ли использовать sorted() с неизменяемыми объектами? Да, например, со строками или кортежами, так как функция возвращает новый список.
- Можно ли сортировать по нескольким критериям? Да, используйте key с функцией, которая возвращает кортеж ключей.