# Writing logic for extend function
def extend(self, *ArrObj):
# Resize
ArrObjSize = ArrObj.__len__()
if self.n == self.size:
# Resize
self.__resize(self.size + ArrObjSize)
# Copying content of ArrObj to self.A
for i in range(self.n, self.n + ArrObjSize):
for j in range(ArrObjSize):
item = ArrObj.__getitem__(j)
self.append(item)
return self.__str__()
'[69,100,布伦达,凯莉,[89,99,67,78,101]]'
通过在参数列表中的
*
之前使用解包运算符ArrObj
:
def extend(self, *ArrObj):
self
之后的所有参数都作为参数值列表分配给ArrObj
,因此当您将列表作为参数传递给方法时,ArrObj
成为您传入的列表的列表,而不仅仅是列出您传入的列表。
您的代码可以通过将
ArrObj
设为常规参数来工作:
def extend(self, ArrObj):