将列表元素输入函数

Inputting list elements into function

我想知道是否有办法将列表中的元素插入到函数的输入中。例如

def function(x,y,z):
    #does stuff

def main():
   changing_list=[8,9,10]
   function(changing_list)

我在 Spotfire 中使用函数 GetRows,它允许使用不同数量的输入。因此,我计划将我将要使用的行的名称放入列表中,然后使用它为函数提供输入。如果有更好的方法,请告诉我,由于我不知道我将事先使用哪些行,所以我无法事先输入。如果有不清楚的地方,请让我澄清。我注意到在查看答案后我可能遗漏了一个重要点。由于我无权访问它,因此我无法调整函数中的代码。此外,该函数可能并不总是接受 3 个输入,它会根据手头代码 运行 时发生的情况而有所不同,列表可能在一个 运行 中有 5 个元素,在下一个中有 1 个元素.

更改行:

   function(changing_list)

收件人:

   function(*changing_list)

如果你在 Python 3.

使用:

   function(l[0], l[1], l[2])

您在定义函数时为您的函数请求了 3 个变量,但您只给了它一个列表。试试这个:

def function(xs):
    xs[0] = 1
    xs[1] = 2
    xs[2] = 3

def main():
    changing_list = [8, 9, 10]
    function(changing_list)

现在您的函数将获取您的列表,并将其更改为 [1, 2, 3]。您可以使用print查看。

为此,您可以使用解包序列的单星号 *。这允许您这样做:

def mul(x, y):
    return x * y

nums = (1, 5)
s = mul(*nums)

这将解压元组。它实际执行为:

s = mul(1, 5)