Tengo una función multivariable y me gustaría utilizar la función map() con ella.Uso de la función de mapa con una función multivariada
Ejemplo:
def f1(a, b, c):
return a+b+c
map(f1, [[1,2,3],[4,5,6],[7,8,9]])
Tengo una función multivariable y me gustaría utilizar la función map() con ella.Uso de la función de mapa con una función multivariada
Ejemplo:
def f1(a, b, c):
return a+b+c
map(f1, [[1,2,3],[4,5,6],[7,8,9]])
itertools.starmap
hecho para esto:
import itertools
def func1(a, b, c):
return a+b+c
print list(itertools.starmap(func1, [[1,2,3],[4,5,6],[7,8,9]]))
Salida:
[6, 15, 24]
No se puede. Use una envoltura
def func1(a, b, c):
return a+b+c
map((lambda x: func1(*x)), [[1,2,3],[4,5,6],[7,8,9]])
Simplemente puede envolver su función multi-argumento dentro de otra función que toma un solo argumento como una tupla/lista y luego lo pasa a la función interna.
map(lambda x: func(*x), [[1,2,3],[4,5,6],[7,8,9]])