Python 动态数组列表

问题描述 投票:0回答:1
    # 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]]'

[69,100,布伦达,凯莉,89,99,67,78,101]

python-3.x list dynamic-arrays
1个回答
0
投票

通过在参数列表中的

*
之前使用解包运算符
ArrObj

def extend(self, *ArrObj):

self
之后的所有参数都作为参数值列表分配给
ArrObj
,因此当您将列表作为参数传递给方法时,
ArrObj
成为您传入的列表的列表,而不仅仅是列出您传入的列表。

您的代码可以通过将

ArrObj
设为常规参数来工作:

def extend(self, ArrObj):
© www.soinside.com 2019 - 2024. All rights reserved.