我想构造一个类来展平python列表。我可以这样定义函数
liste=[[1,2],3,[4],[[5],6]]
flatLIST=[]
def recur(a):
if (type(a)==list):
for i in a:
recur(i)
else:
flatLIST.append(a)
recur(liste)
flatLIST
[1, 2, 3, 4, 5, 6]
但是当我不能通过构造一个类来实现它的时候。你知道吗
class flatYVZ():
def __init__(self,liste):
self.flatLIST=[]
recur(liste)
def recur(self,a):
if (type(a)==list):
for i in a:
recur(i)
else:
self.flatLIST.append(a)
def flatting(self):
self.sonuc=self.flatLIST
example=[[1,2],3,[4],[[5],6]]
objec=flatYVZ(example)
objec.sonuc
[]
您需要引用
self
,否则将调用之前定义的函数,而不是类方法。你知道吗在这里,您需要在
__init__
中将recur(liste)
更改为self.recur(liste)
,在recur(self, a)
中将recur(i)
更改为self.recur(i)
。你知道吗相关问题 更多 >
编程相关推荐