Курс Python → Структура данных deque в Python
Класс collections.deque() в Python представляет собой удобную структуру данных, объединяющую в себе возможности как стека, так и очереди. Он представляет собой двустороннюю очередь, позволяющую добавлять и извлекать элементы как с начала, так и с конца последовательности. Это делает его особенно удобным для решения задач, требующих работы с данными в порядке их поступления или обработки.
Одним из главных преимуществ deque() является его эффективность. Операции добавления и извлечения элементов в deque() выполняются за константное время O(1) в любом направлении. Это означает, что даже при большом количестве элементов в очереди время выполнения операций остается почти неизменным, что делает deque() отличным выбором для задач, где производительность имеет значение.
Пример использования deque() в Python:
from collections import deque
# Создаем пустую двустороннюю очередь
queue = deque()
# Добавляем элементы в начало и конец очереди
queue.appendleft(1)
queue.append(2)
# Извлекаем элементы с начала и конца очереди
print(queue.popleft()) # Вывод: 1
print(queue.pop()) # Вывод: 2
В данном примере мы создаем пустую двустороннюю очередь, добавляем элементы в начало и конец очереди с помощью методов appendleft() и append(), а затем извлекаем элементы из очереди с помощью методов popleft() и pop(). Это лишь один из множества способов использования deque() для решения различных задач в Python.
Другие уроки курса "Python"
- Работа с модулем random
- Проверка ввода с помощью isdigit
- Генераторные выражения и islice.
- Сортировка данных с лямбда-функциями
- Функции map() и reduce() в Python
- Итерации в Python
- Возврат нескольких значений
- Создание функций высшего порядка
- Тестирование с unittest
- Оценка выражений генератора в Python
- Методы shutil для работы с файлами
- Наследование в программировании
- Генераторы в Python
- Работа с набором данных CIFAR10 в PyTorch
- Генераторы списков в Python
- Декораторы с @wraps
- Блок else в циклах Python
- Объединение словарей в Python
- Профилирование с Pandas
- Избегайте двойного подчеркивания
- Переопределение метода __rshift__
- Инициализация объекта
- Обработка исключений в Python
- Генератор списка с условием if
- Описание скриптов в README
- Модуль sys: основы
- Модуль future Python
- Установка Home Assistant
- Работа с модулем random
- Работа с zip()
- Форматирование данных с pprint
- Скачать видео с YouTube
- Python UserString — создание подклассов строк
- Модуль math: константы π и e
- Объединение итераторов
- Измерение времени выполнения кода с помощью time
- Взаимодействие с sys
- Переворот последовательности
- Разработка Telegram-ботов
- Работа со словарями
- Нахождение отличий в списках
- Работа с рекламными данными в Pandas
- Создание графиков в терминале
- Возврат нескольких значений
- Метод ior для битовых операций
- Concrete Paths — метод .with_suffix()
- Метод setdefault() в Python
- Переворот списка в Python
- Метод hash в Python















