将参数列表传递给Python函数

Wil*_*y94 1 python parameters tuples function list

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

def func(x, *p):
return ...
Run Code Online (Sandbox Code Playgroud)

我正在尝试传递一个值列表以用作参数.我尝试使用列表和元组,但函数总是返回零.有没有人有任何建议?谢谢

frn*_*nhr 13

some_list = ["some", "values", "in", "a", "list", ]
func(*some_list)
Run Code Online (Sandbox Code Playgroud)

这相当于:

func("some", "values", "in", "a", "list")
Run Code Online (Sandbox Code Playgroud)

固定的x参数可能需要一个想法:

func(5, *some_list)
Run Code Online (Sandbox Code Playgroud)

......相当于:

func(5, "some", "values", "in", "a", "list")
Run Code Online (Sandbox Code Playgroud)

如果没有指定值x(5在上面的例子),那么第一个值some_list将获得通过,以func作为xPARAM.


Bha*_*Rao 6

将值作为逗号分隔值传递

>>> 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
Run Code Online (Sandbox Code Playgroud)

您可以通过阅读文档了解更多信息