Курс 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. Метод split() для разделения строк
  2. Форматирование данных с помощью pprint
  3. Преобразование Word в PDF с Spire.Doc
  4. Логирование в Python
  5. Возврат значений из генератора
  6. Профилирование кода
  7. Получение значений из словарей
  8. Обновление и получение данных в SQLite
  9. Вычисление натурального логарифма в NumPy
  10. Хранение переменных в словаре.
  11. Функция enumerate в Python
  12. Фильтрация элементов с помощью islice
  13. Подписка на SelectelNews в Twitter
  14. Разделение строки на подстроки в Python
  15. Измерение времени выполнения кода с помощью time
  16. Python enumerate() функции
  17. Основы работы с базами данных в Python
  18. None в Python: использование и особенности
  19. Контекстный менеджер в Python
  20. Использование функции enumerate()
  21. Преобразование типов данных в set comprehension
  22. Работа с аргументами командной строки
  23. Поиск индексов в списке
  24. Поиск частого элемента
  25. Удаление дубликатов из списка с помощью dict.fromkeys
  26. SciPy: широкий функционал для математических операций
  27. Управление фоновыми задачами в Python
  28. Функция reduce() из модуля functools
  29. Копирование объектов в Python
  30. Разбиение строки в Python
  31. Методы и функции в Python
  32. Установка и использование модуля Wikipedia
  33. Работа с Path в Python
  34. Переворот строки
  35. Объединение словарей в Python
  36. Удаление символа из строки
  37. Создание класса в Python
  38. Оператор морж в Python 3.8
  39. Генераторы списков в Python
  40. Разделение строки с помощью re.split()
  41. Использование модуля __future__
  42. Переопределение метода
  43. Мощь вложенных функций в Python
  44. Создание словаря через dict comprehension
  45. Получение текущей даты и времени
  46. Объединение списков в Python.
  47. Работа с Event() в threading
  48. Ошибка NotImplemented в Python

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