我是python的新手,我不知道是否可以旋轉我的堆棧結構。(Python)在python中使用pop取第一個元素打印它,然後將其放在列表的底部
我的代碼:
class Stack():
def __init__(self):
self.items = []
def isEmpty(self):
return self.items == []
def push(self, item):
return self.items.append(item)
def printstack(self):
for items in reversed(self.items):
print items
def pop(self):
NS=Stack()
var1=self.items.pop()
NS.push(var1)
NS.push(self)
self=NS
return var1
def size(self):
return len(self.items)
s=Stack()
print s.isEmpty()
print ''
s.push(4)
s.push('dog')
s.push(6)
s.push('Bob')
print s.isEmpty()
print ''
s.printstack()
print ''
print s.pop()
print ''
s.printstack()
我所試圖做的是自定義彈出堆棧中彈出並把教皇變量堆棧類似下面的結尾:
True
False
Bob
6
dog
4
Bob
6
dog
4
Bob
但是我得到這個:
True
False
Bob
6
dog
4
Bob
6
dog
4
幫助?
如果你這樣做,它不再是一個堆棧。 – user2357112
但是我的知識中列表不起作用,因爲你必須旋轉所有的元素,所以沒有一個堆棧已經是一個更好的選擇? – Asilver
「更好」以什麼方式?你只是重塑了一枚戒指。另外請注意,你的** Stack ** *是一個列表 - 你沒有保存任何處理。 – Prune