Курс 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. Метод join() для объединения элементов строки
  2. Создание класса очереди
  3. Определение локальных переменных в Python
  4. Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
  5. Генераторы списков в Python
  6. Измерение времени выполнения с помощью time
  7. Управление виртуальными средами в Python
  8. Расчет времени выполнения кода
  9. Обход дочерних элементов BeautifulSoup
  10. Библиотека wikipedia для Python
  11. Модуль pprint: улучшение вывода данных
  12. Основы работы со строками в Python
  13. Обратный список чисел
  14. Профилирование кода
  15. Поток данных в Python
  16. Работа с буфером обмена на Python
  17. Оператор «and» в Python
  18. Работа с getopt
  19. Сравнение строк в Python
  20. Оператор обр. импликации
  21. Вывод букв строки в Python
  22. Создание виртуальной среды
  23. Реализация операции -= для пользовательского класса
  24. Преобразование генераторов в циклы
  25. Атрибуты класса и экземпляра
  26. Получение списка кортежей из словаря
  27. Создание словарей в Python
  28. Создание объекта времени
  29. Удаление дубликатов из списка
  30. Управление сессиями в Python
  31. Функция enumerate в Python
  32. Именование переменных в Python
  33. Вложенные генераторы в Python
  34. Методы работы со строками в Python
  35. Удаление и повторная вставка ключа в OrderedDict
  36. Удаление элемента из списка
  37. Выборка чисел
  38. Python 3.12: переиспользование кавычек
  39. Docstring в Python
  40. Изменение списка срезами
  41. Условное добавление элементов в список
  42. Создание новых списков
  43. Defaultdict в Python
  44. Работа с модулем random
  45. Поиск файлов по шаблону
  46. Объединение Python и Shell

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