Курс 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"
- Нахождение разницы между списками в Python
- Проверка подстроки в строке с помощью in
- Анонимные функции в Python
- Поиск HTML-элементов с BeautifulSoup
- Изменение списка срезом
- Генераторы данных
- Работа с часовыми поясами в Python.
- Форматирование строк в Python
- Проверка типа объекта в Python
- Создание словарей и множеств в Python.
- Получение имени функции с помощью inspect
- Создание спинбокса в tkinter
- TON Smart Challenge #2: участие и подготовка
- Удаление элемента из списка в Python
- Обработка исключений
- Lambda Functions in Python
- Тестирование времени с Freezegun
- Метод join() для объединения строк
- Названия переменных
- Инициализация объекта
- Разработка Telegram-ботов
- Поиск повторов в списке
- Переопределение метода __eq__
- Использование type hints
- Combobox в Tkinter
- Переопределение метода __floordiv__
- Регистрация на курсы SF Education
- Создание словарей с defaultdict()
- Работа с географическими данными в Python
- Использование обратной косой черты в f-строках
- Расчет времени выполнения
- Оптимизация памяти в Python
- Отступы в Python
- Генерация строк с .join()
- Python Метод Union Множеств
- Транспонирование 2D-массива с помощью zip
- Работа с датой и временем в Python
- Фильтрация последовательности
- Функция product() в Python
- Дефолтные параметры в Python
- Сохранение Unicode в JSON
- Создание namedtuple списком полей
- Итераторы в Python
- Подсчет частотности элементов в Python
- Блок else в Python















