Курс 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. Ограничение ресурсов в Python
  3. Сортировка элементов в Python
  4. split() без разделителя
  5. Повторение элементов в Python
  6. Зарезервированные слова в Python
  7. Работа с датой и временем в Python
  8. Подсказки типов в Python
  9. Сложение матриц в NumPy
  10. Списковое включение в Python
  11. Строковое представление объектов
  12. Генератор списка в Python
  13. Работа со строками в Python
  14. Настройка шрифта и цвета в Tkinter
  15. Python 3.12: переиспользование кавычек
  16. Извлечение статей с newspaper3k
  17. Изменение списка срезом
  18. Работа с рекламными данными в Pandas
  19. Нахождение отличий в списках
  20. Генерация случайных чисел в Python
  21. Создание множества в Python
  22. Функция zip() в Python
  23. Взаимодействие с sys
  24. Циклы в Python
  25. Разработка Telegram-ботов
  26. Работа с JSON данными в Python
  27. Сериализация и десериализация объектов
  28. Работа с итераторами через срезы
  29. Делегирование в Python
  30. Python Метод sleep() из time
  31. Сортировка и обратный порядок
  32. Глобальные переменные в Python
  33. Импорт модулей и пакетов в Python
  34. Декоратор @override
  35. Асинхронное выполнение задач в процессах
  36. Округление дробей в Python
  37. Расчет времени выполнения
  38. Округление банкира в Python
  39. Создание Telegram-бота на Python
  40. Поиск индексов подстроки
  41. Упрощение условных выражений с тернарным оператором
  42. IPython и Jupyter Notebook: руководство
  43. Определение имен функций
  44. Работа с асинхронными задачами в Python
  45. Импорт с альтернативным именем
  46. Python OrderedDict и fromkeys() — работа с словарями
  47. Получение ID процесса
  48. Работа с URL-адресами в Python
  49. Цепные операции в Python

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