将参数列表传递给Python函数[重复]
Posted
技术标签:
【中文标题】将参数列表传递给Python函数[重复]【英文标题】:Passing a list of parameters into a Python function [duplicate] 【发布时间】:2015-06-06 15:39:12 【问题描述】:如何将未知数量的参数传递给函数?我有一个按以下方式定义的函数
def func(x, *p):
return ...
我正在尝试传入一个值列表以用作参数。我尝试使用列表和元组,但该函数始终返回零。有没有人有任何建议? 谢谢
【问题讨论】:
【参考方案1】: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
参数传递给func
。
【讨论】:
【参考方案2】:将值作为逗号分隔值传递
>>> 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了解更多信息
【讨论】:
以上是关于将参数列表传递给Python函数[重复]的主要内容,如果未能解决你的问题,请参考以下文章