为什么我不能在下面的Last In First out(LIFO)实现中将我的列表传递给python类

时间:2015-08-06 04:09:18

标签: python list class

我必须使用一个类来传递这个列表并实现LIFO。

class Sclass:
    def __init__(self):
        self.lst = []
    def sadd(self,lst,a):
        print "before append" self.lst
        self.lst.append(a)
        print "post append" self.lst
        return lst

    def sretrieve(self,lst):
        self.lst.pop(-1)

my_list=Sclass()
lt=my_list.sadd(12)
print lt

如何在列表中添加多个值,然后检索它们,直到整个列表为空

1 个答案:

答案 0 :(得分:1)

这是一个非常简单的例子。

class LifoContainer(object):
    def __init__(self):
        self.lst = []

    def push(self, item):
        self.lst.append(item)

    def pop(self):
        return self.lst.pop()

container = LifoContainer()
container.push(3)
container.push(4)
container.push(5)

assert container.pop() == 5
assert container.pop() == 4
assert container.pop() == 3