如何从列表中提取参数并将它们传递给函数调用

时间:2011-09-23 10:50:47

标签: python list argument-unpacking

从列表中提取项目并将它们作为参数传递给函数调用的简单方法是什么,如下例所示?

示例:

def add(a,b,c,d,e):
    print(a,b,c,d,e)

x=(1,2,3,4,5)

add(magic_function(x))

3 个答案:

答案 0 :(得分:56)

您可以使用星号将元组或列表解压缩为位置参数。

def add(a, b, c):
    print(a, b, c)

x = (1, 2, 3)
add(*x)

同样,您可以使用double star将dict解包为关键字参数。

x = { 'a': 3, 'b': 1, 'c': 2 }
add(**x) 

答案 1 :(得分:10)

我认为您的意思是* unpacking operator

>>> l = [1,2,3,4,5]
>>> def add(a,b,c,d,e):
...    print(a,b,c,d,e)
...
>>> add(*l)
1 2 3 4 5

答案 2 :(得分:4)

使用*运算符。所以add(*x)会做你想做的事。

有关详细信息,请参阅此其他SO question