如何将未知数量的参数传递给函数?我有一个以下列方式定义的函数
def func(x, *p):
return ...
我正在尝试传递一个值列表以用作参数。我尝试使用列表和元组,但函数总是返回零。有没有人有任何建议? 感谢
答案 0 :(得分:9)
some_list = ["some", "values", "in", "a", "list", ]
func(*some_list)
这相当于:
func("some", "values", "in", "a", "list")
固定的x
参数可能需要一个想法:
func(5, *some_list)
......相当于:
func(5, "some", "values", "in", "a", "list")
如果您未在上面的示例中指定x
(5
)的值,则some_list
的第一个值将作为{传递给func
{1}} param。
答案 1 :(得分:3)
将值作为逗号分隔值传递
>>> def func(x, *p): # p is stored as tuple
... print "x =",x
... for i in p:
... print i
... return p
...
>>> print func(1,2,3,4) # x value 1, p takes the rest
x = 1
2
3
4
(2,3,4) # returns p as a tuple
您可以阅读docs
了解详情