我在尝试用Python重新创建队列和栈时,对下面代码片段中deque的工作原理感到困惑。
栈示例-已理解
stack = ["a", "b", "c"]
# push operation
stack.append("e")
print(stack)
# pop operation
stack.pop()
print(stack)
按照预期,当进行推入(push)和弹出(pop)操作时,"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
文档。你可能正在寻找dq.popleft()
(或.appendleft()
)。无论哪种情况,"de" 在 dequeue 中代表 "double-ended"。 - jedwards