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

Частые ошибки

  1. Попытка сортировки объектов, которые нельзя сравнивать:

    print(sorted([1, "a", 2]))  # Ошибка: TypeError
    

Часто задаваемые вопросы

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