Назад к вопросам
JuniorТеорияЧасто
Что выведет программа?
from collections import deque
stack = [1, 2, 3]
queue = deque([1, 2, 3])
print(stack.pop(), queue.popleft())3 1
- Ждать, что
pop()берёт первый элемент, как очередь: без аргументаlist.popудаляет последний, и именно так список работает стеком. - Ждать, что
popleftберёт с правого края: «left» — это началоdeque, поэтому он возвращает1, элемент, добавленный первым.
- Почему
list.pop(0)медленный на длинном списке, аdeque.popleft()— нет? - Что вернёт
queue.pop()для того жеdeque?