collections.deque

Двусторонняя очередь с быстрым добавлением и удалением элементов с обоих концов за O(1).

Сигнатураcollections.deque([iterable[, maxlen]])

deque (double-ended queue) эффективнее списка для операций с началом последовательности. С параметром maxlen очередь становится кольцевым буфером: при переполнении вытесняются элементы с противоположного конца.

from collections import deque

d = deque([1, 2, 3])
d.append(4)        # справа
d.appendleft(0)    # слева
print(d)           # deque([0, 1, 2, 3, 4])

buf = deque(maxlen=3)
for x in range(5):
    buf.append(x)
print(buf)         # deque([2, 3, 4], maxlen=3)
← Все записи: Модули collections и functools
Поддержать проект