Курс 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"
- Метод join() для объединения элементов строки
- Создание класса очереди
- Определение локальных переменных в Python
- Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
- Генераторы списков в Python
- Измерение времени выполнения с помощью time
- Управление виртуальными средами в Python
- Расчет времени выполнения кода
- Обход дочерних элементов BeautifulSoup
- Библиотека wikipedia для Python
- Модуль pprint: улучшение вывода данных
- Основы работы со строками в Python
- Обратный список чисел
- Профилирование кода
- Поток данных в Python
- Работа с буфером обмена на Python
- Оператор «and» в Python
- Работа с getopt
- Сравнение строк в Python
- Оператор обр. импликации
- Вывод букв строки в Python
- Создание виртуальной среды
- Реализация операции -= для пользовательского класса
- Преобразование генераторов в циклы
- Атрибуты класса и экземпляра
- Получение списка кортежей из словаря
- Создание словарей в Python
- Создание объекта времени
- Удаление дубликатов из списка
- Управление сессиями в Python
- Функция enumerate в Python
- Именование переменных в Python
- Вложенные генераторы в Python
- Методы работы со строками в Python
- Удаление и повторная вставка ключа в OrderedDict
- Удаление элемента из списка
- Выборка чисел
- Python 3.12: переиспользование кавычек
- Docstring в Python
- Изменение списка срезами
- Условное добавление элементов в список
- Создание новых списков
- Defaultdict в Python
- Работа с модулем random
- Поиск файлов по шаблону
- Объединение Python и Shell















