Quelle est une bonne et brève façon d'extraire des éléments d'une liste et de les passer en tant que paramètres à un appel de fonction, comme dans l'exemple ci-dessous?
Exemple:
def add(a,b,c,d,e):
print(a,b,c,d,e)
x=(1,2,3,4,5)
add(magic_function(x))
Vous pouvez décompresser un tuple ou une liste en arguments positionnels à l'aide d'une étoile.
def add(a, b, c):
print(a, b, c)
x = (1, 2, 3)
add(*x)
De même, vous pouvez utiliser une double étoile pour décompresser un dict en arguments de mots clés.
x = { 'a': 3, 'b': 1, 'c': 2 }
add(**x)
Je pense que tu veux dire le *
opérateur de déballage :
>>> 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
Utilisez l'opérateur *
. Donc, add(*x)
ferait ce que vous voulez.
Voir cet autre SO question pour plus d'informations.