覆盖列表方法

时间:2012-10-17 14:58:13

标签: python

我正在尝试覆盖列表方法并附加2个元素。我怎么能这样做?

class LI(list):
    def append(self, item):
        self.append(item)


l = LI([100, 200])
l.append(302)
l.append(402)

print l

最终输出:

[100,200,302,302,402,402]

1 个答案:

答案 0 :(得分:4)

class LI(list):
    def append(self, *args):
        self.extend(args)

现在你可以使用它了:

a = LI()
a.append(1,2,3,4)
a.append(5)

或许你的意思是:

class LI(list):
    def append(self, item):
        list.append(self,item)
        list.append(self,item)

但实际上,为什么不只是使用常规列表以及extendappend的使用方式?

a = list()
a.extend((1,2,3,4))
a.append(5)

a = list()
item = 1
a.extend((item,item))