Курс 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. Перезапуск ячейки в Jupyter Notebook с dostoevsky
  2. Тернарный оператор в Python
  3. Склеивание строк через метод join()
  4. Работа с библиотекой xkcd
  5. Создание таблиц в терминале с PrettyTable
  6. Обновление и получение данных в SQLite
  7. Сортировка в Python
  8. Переопределение унарных операторов
  9. Функция product() в Python
  10. Python Метод Union Множеств
  11. Colorama: окрашивание текста в Python
  12. Работа со списками
  13. Динамическая типизация в Python
  14. Функция enumerate() в Python
  15. Отладчик pdb: начало работы
  16. Работа с файлами в Python
  17. Модуль inspect
  18. Инициализация структур данных
  19. Функции с необязательными аргументами
  20. Деление в Python
  21. Создание словарей в Python
  22. Добавление элементов в список
  23. Объединение списков в строку
  24. Управление виртуальными окружениями в Python
  25. Библиотека sh: использование команд bash в Python
  26. Измерение времени выполнения кода
  27. Модуль future Python
  28. Переопределение метода __eq__
  29. Имена объектов в Python
  30. Работа с модулем bisect
  31. Изменение логики работы с временем
  32. Разделение строки на подстроки в Python
  33. Переворот строки с использованием цикла
  34. Делегирование в Python
  35. Получение ID процесса
  36. Объединение кортежей в Python
  37. Работа с *args и **kwargs в Python
  38. Перезагрузка оператора в Python
  39. Установка и использование Python-dateutil
  40. Форматирование строк в Python
  41. Принципы программирования
  42. Создание файла с проверкой ошибки
  43. Поиск самого длинного слова в списке с использованием max()
  44. Работа с словарями в Python
  45. Объединение списков в Python.
  46. Перетасовка списков в Python
  47. Форматирование строк в Python
  48. Методы shutil для работы с файлами
  49. Создание генераторов

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