class MyStack:
def __init__(self):
self.stack = []
def push(self, item):
self.stack.append(item)
def pop(self):
pass
mystack = MyStack()
mystack.push(0)
mystack.push(1)
mystack.push(2)
print(mystack.stack)
$ python3 test.py
[0, 1, 2]
pop
def pop(self):
result = self.stack[-1]
del self.stack[-1]
return result
print(mystack.pop())
print(mystack.pop())
取り出して削除なので、[-1]の後にdelを実行している。
上記と同じことをpop()と書くことができる。
def pop(self):
return self.stack.pop()
stackが0の場合があるので、例外処理も書かなければならない。
def pop(self):
if len(self.stack) == 0:
return None
return self.stack.pop()