python - parametro - Cómo extraer parámetros de una lista y pasarlos a una llamada de función
llamar una funcion desde otra funcion en python (3)
Creo que te refieres al *
operador de desempaquetado :
>>> 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
Esta pregunta ya tiene una respuesta aquí:
- * args y ** kwargs? [duplicado] 11 respuestas
¿Cuál es una forma buena y breve de extraer elementos de una lista y pasarlos como parámetros a una llamada de función, como en el siguiente ejemplo?
Ejemplo:
def add(a,b,c,d,e):
print(a,b,c,d,e)
x=(1,2,3,4,5)
add(magic_function(x))
Puede descomprimir una tupla o una lista en argumentos posicionales usando una estrella.
def add(a, b, c):
print(a, b, c)
x = (1, 2, 3)
add(*x)
Del mismo modo, puede usar doble estrella para descomprimir un dict en argumentos de palabra clave.
x = { ''a'': 3, ''b'': 1, ''c'': 2 }
add(**x)
Use el operador *
. Entonces add(*x)
haría lo que quieras.
Vea esta otra question SO para más información.