Python3函数没有返回完整的lis

2024-10-01 11:33:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图创建一个函数,它接受一个input list参数并在里面做一些计算,返回一个新的列表,其中包含从数学中收集的数据,但结果总是得到一个空列表。如何将列表传递给函数才能使其正常工作?你知道吗

inputArray = [12,6,7,3,8]

def derive (self, *inputArray):

    outputarray = []

    for i in inputArray:
        operatorA = inputArray[i]
        operatorB = inputArray[i+1]
        if operatorA > operatorB:
            operation = operatorA - operatorB
            outputarray.append(operation)
        else:
            operation = operatorB - operatorA
            outputarray.append(operation)
    print(outputarray)

 derive(inputArray)

Tags: 数据函数列表input参数def数学operation
1条回答
网友
1楼 · 发布于 2024-10-01 11:33:18

你误用了for。要遍历索引,应该使用for i in range(len(inputArray) - 1)。这将遍历索引列表。你知道吗

另外,您创建了一个需要两个参数的函数,但只使用一个参数调用它,因此我删除了self。你知道吗

最后,我相信您使用*试图引用字符串地址。这是C/C++语法,但在Python上不能工作。相反,您可以将值返回到原始字符串:

inputArray = [12,6,7,3,8]

def derive (inputArray):

    outputarray = []

    for i in range(len(inputArray)-1):
        operatorA = inputArray[i]
        operatorB = inputArray[i+1]
        if operatorA > operatorB:
            operation = operatorA - operatorB

        else:
            operation = operatorB - operatorA

        outputarray.append(operation)
    print(outputarray)
    return(outputarray)

inputArray = derive(inputArray)

相关问题 更多 >