gpt4 book ai didi

python - 构造一个类来展平 python 列表

转载 作者:太空宇宙 更新时间:2023-11-03 21:31:27 24 4
gpt4 key购买 nike

我想构造一个类来展平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(i)中的recur(liste)更改为self.recur(liste) recur(self, a) 中的 self.recur(i)

class flatYVZ():

def __init__(self,liste):
self.flatLIST=[]
self.recur(liste)

def recur(self,a):

if (type(a)==list):
for i in a:
self.recur(i)
else:
self.flatLIST.append(a)

def flatting(self):
self.sonuc=self.flatLIST

example=[[1,2],3,[4],[[5],6]]
objec=flatYVZ(example)
print(objec.flatLIST)

关于python - 构造一个类来展平 python 列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53493815/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com