关于python:如何从列表中提取参数并将其传递给函数调用

How to extract parameters from a list and pass them to a function call

本问题已经有最佳答案,请猛点这里访问。

从列表中提取项并将其作为参数传递给函数调用(如下面的示例中)的好的、简单的方法是什么?

例子:

1
2
3
4
5
6
def add(a,b,c,d,e):
    print(a,b,c,d,e)

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

add(magic_function(x))

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

1
2
3
4
5
def add(a, b, c):
    print(a, b, c)

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

类似地,您可以使用双星将dict解包为关键字参数。

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

我想你是指*开箱操作员:

1
2
3
4
5
6
>>> 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


使用*运算符。所以江户十一〔二〕会做你想做的。

更多信息,请参阅另一个问题。