将参数列表传递给Python函数

时间:2015-04-01 20:29:06

标签: python list function parameters tuples

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

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

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

2 个答案:

答案 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")

如果您未在上面的示例中指定x5)的值,则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

了解详情