Курс 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. Сравнение объектов в Python
  2. Оператор «or» в Python
  3. Вывод сложных структур данных с помощью pprint
  4. Переменные в Python: сокращение гласных
  5. Объединение строк с помощью метода join
  6. Работа со стеком в Python
  7. Работа с необработанными строками
  8. Метод Event.wait() в Python
  9. Преобразование списка в словарь через генератор
  10. Работа со строками в Python
  11. Метод split() для разделения строк
  12. Сравнение def и lambda в Python
  13. Получение ID текущего процесса
  14. Очистка списка от False, None, 0, «»
  15. Методы работы со строками в Python
  16. Библиотека Rich: форматирование текста
  17. Выключение компьютера с помощью Python
  18. Хэш-функции и метод цепочек
  19. Метод join() для объединения элементов строки
  20. Работа с часовыми поясами в Python
  21. Метод join() для объединения элементов строки
  22. Атрибуты класса и экземпляра
  23. Преобразование символов с помощью map
  24. Ограничение ресурсов в Python
  25. Срезы в Numpy
  26. Логирование с Logzero
  27. Генераторные выражения и islice.
  28. Работа с изображениями Pillow
  29. Определение наиболее частого элемента с помощью collections.Counter
  30. Beautiful Soup — извлечение данных из HTML
  31. Проверка индексов коллекции
  32. Функция rsplit() в Python
  33. Лямбда-функции в цикле
  34. Проверка окончания строки с помощью str.endswith()
  35. Работа с классами данных
  36. Подсчет элементов в списке с Counter
  37. Python Ellipsis использование
  38. Основы работы со списками
  39. Строки в Python: апострофы и кавычки
  40. Создание и использование модулей в Python
  41. Разделение строк в Python
  42. Перемешивание списка с shuffle()
  43. Переопределение метода __and__
  44. Обновление ключей в Python
  45. Сериализация объектов в Python
  46. Группировка элементов в словарь
  47. Сортировка данных с лямбда-функциями
  48. Деление в Python
  49. Python: изменяемые и неизменяемые коллекции

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