Курс 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"
- Защита данных в Python
- Ограничение ресурсов в Python
- Сортировка элементов в Python
- split() без разделителя
- Повторение элементов в Python
- Зарезервированные слова в Python
- Работа с датой и временем в Python
- Подсказки типов в Python
- Сложение матриц в NumPy
- Списковое включение в Python
- Строковое представление объектов
- Генератор списка в Python
- Работа со строками в Python
- Настройка шрифта и цвета в Tkinter
- Python 3.12: переиспользование кавычек
- Извлечение статей с newspaper3k
- Изменение списка срезом
- Работа с рекламными данными в Pandas
- Нахождение отличий в списках
- Генерация случайных чисел в Python
- Создание множества в Python
- Функция zip() в Python
- Взаимодействие с sys
- Циклы в Python
- Разработка Telegram-ботов
- Работа с JSON данными в Python
- Сериализация и десериализация объектов
- Работа с итераторами через срезы
- Делегирование в Python
- Python Метод sleep() из time
- Сортировка и обратный порядок
- Глобальные переменные в Python
- Импорт модулей и пакетов в Python
- Декоратор @override
- Асинхронное выполнение задач в процессах
- Округление дробей в Python
- Расчет времени выполнения
- Округление банкира в Python
- Создание Telegram-бота на Python
- Поиск индексов подстроки
- Упрощение условных выражений с тернарным оператором
- IPython и Jupyter Notebook: руководство
- Определение имен функций
- Работа с асинхронными задачами в Python
- Импорт с альтернативным именем
- Python OrderedDict и fromkeys() — работа с словарями
- Получение ID процесса
- Работа с URL-адресами в Python
- Цепные операции в Python















