我想在Python中创建一个非常简单的类,以便从元素的初始列表[3,7,2,7,81]开始,可以添加其他数字列表,在这种情况下为单个元素40。这是我的解决方案:
class Add_elements:
def add(self, elements):
list = [self.list,elements]
return list
add_elements = Add_elements()
add_elements.add([3,7,2,7,81])
add_elements.add([40])
这应该返回如下内容:
[[3,7,2,7,81],40]
此问题是元素列表每次都会重置,没有存储先前添加的元素。有解决办法吗?
答案 0 :(得分:2)
您可能需要初始化器来初始化self.list
:
class Add_elements:
def __init__(self):
self.list = None
def add(self, elements):
if self.list is None:
self.list = elements
else:
self.list = [self.list,elements]
return self.list
这将使list
为Add_elements
的属性-状态的一部分。而当您致电add
时,它会更改该状态。
编辑:
如果要在致电add
时删除方括号,可以执行以下操作:
def add(self, *elements):
if self.list is None:
self.list = list(elements)
else:
self.list = [self.list,list(elements)]
return self.list