Я написал быструю функцию Python для изменения содержимого стека.Содержимое стека Python перезаписывается при передаче функции
def ReverseStack(input_stack):
oldStack = input_stack
newStack = Stack()
while not oldStack.isEmpty():
item = oldStack.pop()
newStack.push(item)
return newStack
s = Stack()
s.push('hello')
s.push('world')
s.push('I')
s.push('live')
s.push('underwater')
new = ReverseStack(s)
print "\nOriginal stack..."
while not s.isEmpty():
print s.pop()
print "\nNew stack..."
while not new.isEmpty():
print new.pop()
Однако, когда я иду, чтобы напечатать содержимое каждого пакета (оригинал и наоборот) кажется, как будто все содержимое исходного стека были удалены с помощью метода поп-музыки. Это меня смущает, поскольку я передал его как параметр функции, которая создает временный стек, чтобы вывести содержимое из. Я думал, что этот путь оставил бы неповрежденным.
Мой вопрос в том, почему это происходит, и каков наилучший способ его устранения? Благодаря!
Ницца, я знал, что это должно быть что-то вроде этого, я просто не знал, как это решить. Благодаря! – StormTrooper123