2012-02-04 16 views

Odpowiedz

10

itertools.starmap w tej sprawie:

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

wyjściowa:

[6, 15, 24] 
5

Nie możesz. Użyj opakowania.

def func1(a, b, c): 
    return a+b+c 

map((lambda x: func1(*x)), [[1,2,3],[4,5,6],[7,8,9]]) 
3

Można po prostu owinąć funkcję multi-argumentu wewnątrz innej funkcji, które ma tylko jeden argument jako krotka/listy, a następnie przekazuje je do funkcji wewnętrznej.

map(lambda x: func(*x), [[1,2,3],[4,5,6],[7,8,9]]) 
Powiązane problemy