将参数列表传递给 Python 函数

Passing a list of parameters into a Python function

如何将未知数量的参数传递给函数?我有一个按以下方式定义的函数

def func(x, *p):
return ...

我正在尝试传递一个值列表以用作参数。我尝试使用列表和元组,但函数始终 returns 为零。有人有什么建议吗? 谢谢

将值作为逗号分隔值传递

>>> 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

了解更多信息
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 的第一个值将作为 x参数