我想知道是否有一种方法可以获取列表中的元素并将其插入到函数的输入中。例如
def function(x,y,z):
#does stuff
def main():
changing_list=[8,9,10]
function(changing_list)
我正在使用GetRows
中的函数Spotfire
,该函数允许使用不同数量的输入。因此,我计划将要使用的行名称放入列表中,然后使用它将输入信息提供给函数。如果有更好的方法,请告诉我,由于我事先不知道要使用哪行,所以无法事先输入。如果有不清楚的地方,请让我澄清。我注意到的一个重要问题是,在查看答案后,我可能会遗漏。由于无法访问该函数,因此无法调整该函数中的代码。此外,该功能可能并不总是接受3个输入,它会根据代码在先运行而发生的情况而有所不同,列表可能在一次运行中包含5个元素,在下一次运行中包含1个元素。
答案 0 :(得分:2)
更改以下行:
function(changing_list)
收件人:
function(*changing_list)
如果您使用的是Python 3。
使用:
function(l[0], l[1], l[2])
答案 1 :(得分:1)
为此,您可以使用单星号*来解开序列。这使您可以执行此操作:
def mul(x, y):
return x * y
nums = (1, 5)
s = mul(*nums)
这将打开元组的包装。它实际执行为:
s = mul(1, 5)
答案 2 :(得分:0)
在定义函数时,您已为其函数请求了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
进行检查。