我在理解stack.push(stack.pop())在此代码中的功能时遇到了麻烦
stack = Stack()
stack.push('1')
stack.push('2')
stack.push('3')
x = stack.pop()
y = stack.pop()
z = stack.pop()
stack.push(y)
stack.push(y)
stack.push('2')
while not stack.is_empty():
print(stack.pop(), end='')
我知道堆栈中应该有3个项目,但是我不知道它们是什么以及它们最终如何打印?对于我如何弄清楚这一点的帮助将不胜感激!谢谢
答案 0 :(得分:2)
Preferences: Open Keyboard Shortcuts File
是一个功能类似于一堆盘子的对象。 Stack
时,您要在堆叠的顶部添加一个盘子,而push
时,您要从顶部移除一个盘子。您不会想要从底部取回盘子,这既昂贵又不必要。
在这种情况下,pop
不执行任何操作。它将stack.push(stack.pop())
移出堆栈顶部,然后再次pop
移到顶部。在您的push
循环中,您while
个项目已从堆栈中取出,直到没有更多项目为止。 pop
返回您已删除的项目,因此将其打印出来
示例:
pop