Курс Python → Сортировка и обратный порядок

Sorted метод в Python всегда возвращает отсортированный список. Однако, при сравнении списков и кортежей, результат всегда будет False. Это происходит из-за того, что списки и кортежи сравниваются по ссылке на объект, а не по их содержимому. Поэтому, даже если два списка или кортежа имеют одинаковые элементы, они все равно будут считаться разными объектами.

В отличие от sorted, метод reversed возвращает итератор, а не список. Почему так происходит? Дело в том, что сортировка требует изменения итератора на месте или использования дополнительного контейнера, такого как список. В то время как реверсирование может просто работать путем повторения от последнего индекса к первому без создания новых объектов.

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

reversed_numbers = reversed(numbers)
print(list(reversed_numbers))  # Output: [3, 5, 6, 2, 9, 5, 1, 4, 1, 3]

Используя sorted, мы можем получить отсортированный список, который можно использовать для дальнейшей обработки данных. С другой стороны, reversed возвращает итератор, который можно преобразовать в список для получения элементов в обратном порядке. Оба метода полезны в различных сценариях и помогают упорядочивать данные в Python.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Оператор объединения словарей
  2. Переопределение метода __rshift__
  3. Мониторинг памяти с Pympler
  4. Транспонирование 2D-массива с помощью zip
  5. Различия символов в Python
  6. Виртуальное окружение Python
  7. Поиск самого частого элемента
  8. UserList в Python: Описание и примеры использования
  9. Функции высшего порядка в Python
  10. Работа с массивами в Numpy
  11. Многострочные комментарии в Python
  12. Списки в Python: синтаксис представления
  13. Объединение итераторов
  14. Поиск анаграмм с Counter
  15. Обработка ошибок в Python
  16. Работа с геоданными с помощью geopy
  17. Работа с срезами в Python
  18. Атрибуты класса и экземпляра
  19. Возврат нескольких значений
  20. Тестирование времени с Freezegun
  21. Отправка HTTP-запросов с User-Agent
  22. Выход из профиля в Django
  23. Конкатенация строковых литералов
  24. Метод invert для побитового отрицания
  25. Разрешение имен в Python
  26. Функция rsplit() в Python
  27. Фильтрация списка от «ложных» значений
  28. Howdoi — получение ответов из терминала
  29. Распаковка аргументов в Python
  30. Декодирование байтов в строку
  31. Настройка нарезки списков
  32. split() без разделителя
  33. Декораторы в Python
  34. Удаление дубликатов из списка с помощью dict.fromkeys
  35. JSON в Python: модуль, dump, dumps, load
  36. Рациональные числа в Python
  37. Метод Enumerate() для списков
  38. Переопределение оператора % для объектов
  39. Декораторы для регистрации функций
  40. Основы работы с os
  41. Профилирование с cProfile
  42. Искажение имен в Python
  43. Метод ifloordiv для пользовательских классов
  44. Работа со слайсами

Marketello читают маркетологи из крутых компаний