我在嘗試在Python中重新創建隊列和堆棧時,無法理解下面的代碼片段中的deque如何工作。Deque如何在Python中工作
堆棧示例 - 明白了
stack = ["a", "b", "c"]
# push operation
stack.append("e")
print(stack)
# pop operation
stack.pop()
print(stack)
正如預期的推動和彈出時,將 「e」 變爲後進先出(LIFO)。我的問題在於下面的例子。
隊列比例 - 不是理解
from collections import deque
dq = deque(['a','b','c'])
print(dq)
# push
dq.append('e')
print(dq)
# pop
dq.pop()
print(dq)
當壓入和彈出,將 「e」 雲後進先出(LIFO)。它不應該是先進先出(FIFO)嗎?
您應該查看['deque'](https://docs.python.org/3/library/collections.html)文檔。您可能正在尋找['dq.popleft()'](https://docs.python.org/3/library/collections.html#collections.deque.popleft)(或'.appendleft()')。在任何一種情況下,出列中的「de」代表「雙端」。 – jedwards
爲什麼它有什麼不同? – zondo