Курс 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. Оптимизация гиперпараметров с Scikit Optimize
  3. Отрицательные индексы списков в Python
  4. Создание словарей и множеств в Python
  5. Combobox в Tkinter
  6. Изменяемые и неизменяемые объекты
  7. Модуль itertools: комбинации и перестановки
  8. Декоратор проверки активности
  9. Локальные переменные.
  10. Справка по импортированным модулям
  11. Метод setdefault() в Python
  12. Работа с эмодзи в Python
  13. Оператор (*) в Python
  14. Генератор бросков кубиков
  15. Переименование файлов в Python
  16. Генерация случайных чисел Python
  17. Вычисление натуральных логарифмов в NumPy
  18. Показ всплывающих окон Tkinter
  19. Цепные операции в Python
  20. Функция map() и ленивая оценка
  21. Руководство по библиотеке pydantic
  22. Создание словаря с значением по умолчанию
  23. Преобразование строк в числа в Python
  24. Работа с PosixPath() в Python
  25. Оператор «or» в Python
  26. Функция reduce() в Python
  27. Логирование с Logzero: ротация файла
  28. Функции высшего порядка в Python
  29. Оптимизация памяти с __slots__
  30. Определение объема памяти объекта
  31. Классы данных в Python
  32. Определение объема памяти объекта
  33. Работа с дробями в Python
  34. Управление импортом в Python
  35. Множественные конструкторы в Python
  36. Оператор @ для умножения матриц
  37. Поиск HTML-элементов с BeautifulSoup
  38. Запрос DELETE с библиотекой requests
  39. Декораторы с @wraps
  40. IPython и Jupyter Notebook: руководство
  41. Управление памятью в numpy.
  42. Метод count() для списков
  43. Модуль math: константы π и e
  44. Метод pop() списка
  45. Определение индекса элемента списка
  46. Оператор break в Python
  47. Работа с deque из collections
  48. Функция с *args.

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