2012-02-04 15 views

Respuesta

10

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] 
5

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]]) 
3

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]]) 
Cuestiones relacionadas