Курс 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. Использование *args
  2. Python reversed() vs срез[::-1]
  3. Иерархия классов в Python
  4. Перевод текста с Python Translator
  5. Преобразование данных в Python
  6. Деление в Python
  7. Стать Python-разработчиком
  8. Генераторы списков в Python
  9. Конкатенация строк в Python
  10. Метод join() для объединения строк
  11. Обработка исключений в Python
  12. Функции в одну строку
  13. Импорт модулей в Python 3.12
  14. Операции с датами в Python
  15. Ограничение итераций в Python
  16. Генератор надежных паролей
  17. Использование функции product
  18. Поиск элементов BeautifulSoup
  19. Итераторы с потерямиZIP
  20. Модуль itertools: эффективная работа с итераторами
  21. Работа с срезами в Numpy
  22. Метод clear для коллекций
  23. Операции с числами в Python
  24. Работа с классами данных
  25. Избегание циклических зависимостей классов в Python
  26. Получение локальных переменных в Python
  27. Настройка шрифта и цвета в Tkinter
  28. Оператор walrus в Python
  29. Работа с итераторами через срезы
  30. Форматирование вывода списков
  31. Работа с модулем Calendar
  32. Расчет времени выполнения
  33. Участие в LP стейкинге Waves
  34. Декоратор для группы пользователей в Django
  35. Управление асинхронными задачами с помощью Semaphore
  36. Работа со строками в Python
  37. Фильтрация списков с itertools
  38. Метод splitlines() для разделения строк
  39. Конвертация коллекций в Python.
  40. Обход элементов в Python
  41. Создание обратного итератора
  42. lru_cache оптимизация функций
  43. Преобразование символов в нижний регистр
  44. Поиск подстроки в строке
  45. Аннотации типов в Python
  46. Модуль math: основные функции
  47. Логические значения в Python

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