Курс 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. Логирование с Loguru
  2. Фильтрация элементов с помощью islice
  3. Комментарии в Python
  4. Сохранение и загрузка модели в PyTorch
  5. Обработка исключений в Python
  6. Defaultdict в Python
  7. Python OrderedDict и fromkeys() — работа с словарями
  8. Преобразование Excel в PDF с Spire.XLS
  9. Работа с deque в Python
  10. Ограничение ресурсов в Python
  11. Создание спинбокса в tkinter
  12. Работа с многоуровневыми словарями в Python
  13. Принципы программирования
  14. Измерение времени выполнения кода
  15. Поиск шаблона в начале строки
  16. Область видимости переменных в Python
  17. Проверка списка: any() и all()
  18. Сортировка в Python
  19. Работа с процессами в Python
  20. Атрибуты класса и экземпляра в Python
  21. Проверка дублей в списке.
  22. Операции с числами в Python
  23. Реализация операции -= для пользовательского класса
  24. Кортеж в Python: создание и использование
  25. Переменные в Python
  26. Форматирование строк с % в Python
  27. Работа с Enum в Python3.
  28. Множественное присваивание в Python
  29. Склеивание строк без циклов
  30. Просмотр атрибутов и методов класса
  31. Игра «Камень, ножницы, бумага» — Python
  32. Работа с датой и временем в Python
  33. Инвертирование словаря
  34. Руководство по использованию Colorama
  35. Python Ellipsis использование
  36. Очистка списка от False, None, 0, «»
  37. Генерация чисел с range()
  38. Вставка переменных в шаблоны Flask
  39. Функции высшего порядка в Python
  40. Операции с кортежами
  41. Метод get() для словарей
  42. Разделение строки на пары ключ-значение.
  43. Избегание изменяемых аргументов
  44. Numpy: объединение массивов
  45. Инициализация объекта
  46. Необязательные аргументы в Python
  47. Преобразование текста в речь с Python
  48. Библиотека Emoji: использование смайлов в Python

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