Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 重写列表方法_Python - Fatal编程技术网

Python 重写列表方法

Python 重写列表方法,python,Python,我试图重写一个list方法并附加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] 现在您可以使用它: a = LI() a.append(1,2,3,4) a.append(5) 或者你的意思是: cl

我试图重写一个list方法并附加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]
现在您可以使用它:

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)
但是真的,为什么不使用一个常规列表,并按照它们的使用方式扩展和追加它们呢

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

现在您可以使用它:

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)
但是真的,为什么不使用一个常规列表,并按照它们的使用方式扩展和追加它们呢

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


可能您正在查找
list.extend
?此代码进入无限递归。若要避免递归,请调用
super(LI,self)。append(item)
可能您正在查找
list.extend
?此代码进入无限递归。若要避免递归,请调用
super(LI,self)。append(item)