Вы не можете изменить deque
, перебирая его.
Типичный шаблон с очередями - вместо этого использовать цикл while
и удалять элементы с нужного конца с помощью deque.pop()
или deque.popleft()
.
например:.
>>> q = deque([4,5,6,7,8])
>>> while q:
... element = q.pop()
... print('removed {}'.format(element))
...
removed 8
removed 7
removed 6
removed 5
removed 4
или
>>> q = deque([4,5,6,7,8])
>>> while q:
... element = q.popleft()
... print('removed {}'.format(element))
...
removed 4
removed 5
removed 6
removed 7
removed 8