Курс 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. Преобразование в float
  2. Оператор «or» в Python
  3. Создание итератора
  4. Символ подчеркивания в Python
  5. Список переменных в Python
  6. IPython и Jupyter Notebook: руководство
  7. Проверка окончания строки с помощью str.endswith()
  8. Многоточие в Python
  9. Подсказки типов в Python
  10. Использование функции product
  11. Генерация тестовых данных с factory_boy
  12. Цепные операции в Python
  13. Определение размера папок в Python
  14. Библиотека sh: удобные команды терминала
  15. Создание списков в Python
  16. Декодирование байтов в строку
  17. Область видимости переменных
  18. Передача неизвестных аргументов в Python.
  19. Упрощение условных выражений с тернарным оператором
  20. Методы list в Python
  21. Инициализация структур данных
  22. Метод __index__ в Python
  23. Метод get для словаря
  24. Оптимизация гиперпараметров в Python
  25. Разделение строки с помощью split()
  26. Отладка утечек памяти в Python
  27. Создание объекта timedelta
  28. Отправка поздравлений по дню рождения
  29. Решение переменной Шредингера
  30. Разбиение текста в Python
  31. Функция map() в Python
  32. Solidity для DeFi Ethereum
  33. Оператор @ для умножения матриц
  34. Создание итерируемых объектов
  35. split() без разделителя
  36. Вложенные функции в Python
  37. Фильтрация элементов с помощью islice
  38. Поиск HTML-элементов с BeautifulSoup
  39. Основные операции с библиотекой Numpy
  40. CSV строка разделение в Python
  41. Установка и загрузка Instaloader
  42. Асинхронное выполнение задач в процессах
  43. Избегайте пустого списка
  44. Работа с кортежами в Python
  45. Парсинг статей с Newspaper3k
  46. Изменение IP-адреса в Python
  47. Обработка исключений в Python

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