58

以下の例のように、リストからアイテムを抽出し、関数呼び出しにパラメータとして渡す良い簡単な方法は何ですか?

例:

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

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

add(magic_function(x))
4

3 に答える 3

90

スターを使用して、タプルまたはリストを位置引数にアンパックできます。

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

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

同様に、ダブル スターを使用して dict をキーワード引数に展開できます。

x = { 'a': 3, 'b': 1, 'c': 2 }
add(**x) 
于 2011-09-23T10:54:15.780 に答える
15

* アンパック演算子を意味していると思います:

>>> 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
于 2011-09-23T10:53:20.493 に答える
5

演算子を使用し*ます。だからadd(*x)あなたが望むことをするでしょう。

詳細については、この他の SO の質問を参照してください。

于 2011-09-23T10:54:29.120 に答える