🐍 Python-совет: когда `deque` лучше обычного списка

🐍 Python-совет: когда `deque` лучше обычного списка

collections.deque — двусторонняя очередь, оптимизированная для быстрых операций с обоих концов.
from collections import deque

queue = deque(["a", "b", "c"])

queue.append("d")       # добавить справа
queue.appendleft("z")   # добавить слева

queue.pop()             # удалить справа
queue.popleft()         # удалить слева
У deque добавление и удаление с краёв выполняются за O(1). У списка операция pop(0) требует сдвига остальных элементов и работает за O(n).

Ещё одна полезная возможность — циклический сдвиг:
queue.rotate(1)   # сдвиг вправо
queue.rotate(-1)  # сдвиг влево
Подходит для очередей задач, скользящих окон, буферов и алгоритмов обхода графов
Просмотры: 539
Открыть в MAX Сообщить о неточности

Репосты публикации

Публикация канала

Сообщить о неточности

Опишите, что нужно исправить. Если есть источник, добавьте ссылку.

Вы покидаете datool.ru

Ссылка ведёт на внешний сайт. datool.ru не отвечает за его содержимое — проверьте адрес, прежде чем вводить пароли или платёжные данные.

Переход через 10 с

Перейти