我正在调用带有头部的第三方函数def foo(*args)
,因此通常我可以以这种方式使用它foo(a,b,c)
。
但现在我有一个清单,比如说li = [a,b,c]
。直到运行时我才知道它有多少元素。如何将列表的所有元素foo
作为参数传递到函数中。
我试过foo(li)
and foo(tuple(li))
,但它们不起作用。请帮忙。
谢谢你。
我正在调用带有头部的第三方函数def foo(*args)
,因此通常我可以以这种方式使用它foo(a,b,c)
。
但现在我有一个清单,比如说li = [a,b,c]
。直到运行时我才知道它有多少元素。如何将列表的所有元素foo
作为参数传递到函数中。
我试过foo(li)
and foo(tuple(li))
,但它们不起作用。请帮忙。
谢谢你。
*
在调用函数时使用,*
用于在函数调用期间将序列解包为单独的位置参数:
foo(*li)
演示:
>>> def foo(*args): print (args)
>>> foo(*range(10))
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
尝试在它之前传递li
一个*
,如foo(*li)
:
li = [1, 2, 3, 4, 5]
foo(*li)
例如:
>>> def f(*args):
... print args
...
>>> li = [1,2,3]
>>> f(*li)
(1, 2, 3)