deque?deque (двусторонняя очередь) — это структура данных из модуля collections в Python. В отличие от обычного списка, она спроектирована для эффективного добавления и удаления элементов с обоих концов.
Самое важное отличие — это производительность:
deque — appendleft() и popleft() выполняются за O(1) константное времяlist — добавление или удаление в начале работает за O(n) линейное время, потому что все остальные элементы нужно сдвинутьdequedeque — это предпочтительный выбор при реализации:
from collections import deque
d = deque([1, 2, 3])
d.append(4) # Добавить справа
d.appendleft(0) # Добавить слева
d.pop() # Удалить справа
d.popleft() # Удалить слева
Обычный list всё ещё предпочтительнее, когда тебе нужны:
list[i] работает за O(1), тогда как deque это не оптимизируетИспользуй deque вместо списка, когда твоя задача предполагает частые добавления или удаления с обоих концов. Это даёт лучшую производительность для операций с очередями и стеками, делая код одновременно быстрее и семантически понятнее.
deque предоставляет временную сложность O(1) для операций appendleft() и popleft(), в то время как обычный list требует O(n) для вставок и удалений в начале.
Новый — ещё не проверен сообществом
Вы