Очередь фиксированной длины, которая удаляет первый элемент, когда элемент добавляется в конце (FIFO) - PullRequest
0 голосов
/ 13 февраля 2020

Существует ли какая-либо реализация такой очереди в Python, которая имеет фиксированную длину и, когда она заполнена, вставляет самый левый элемент, добавляя один к правому?

Предположим, q = Queue([1,2,3,4,5]) это мой очередь с максимальной длиной 5 , и я говорю q.append(6), тогда ожидаемый результат для print(q) должен быть Queue([2,3,4,5,6])

Этот вопрос также может быть связан с: Есть ли очередь фиксированного размера, которая удаляет лишние элементы?

1 Ответ

0 голосов
/ 14 февраля 2020

Отвечая на мой собственный вопрос:

Я пытался использовать collections.deque() и queue.Queue(), и deque является такой реализацией

d = deque(maxlen=5)
d.extend([1,2,3,4,5])
print(d)
# deque([1, 2, 3, 4, 5], maxlen=5)
d.append(10)
print(d)
# deque([2, 3, 4, 5, 10], maxlen=5)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...