我有一个多变量函数,我想用它来使用map()函数。
示例:
def f1(a, b, c):
return a+b+c
map(f1, [[1,2,3],[4,5,6],[7,8,9]])
答案 0 :(得分:10)
itertools.starmap
为此做了:
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]]))
输出:
[6, 15, 24]
答案 1 :(得分:5)
你做不到。使用包装器。
def func1(a, b, c):
return a+b+c
map((lambda x: func1(*x)), [[1,2,3],[4,5,6],[7,8,9]])
答案 2 :(得分:3)
您可以简单地将多参数函数包装在另一个只接受一个参数作为元组/列表的函数中,然后将其传递给内部函数。
map(lambda x: func(*x), [[1,2,3],[4,5,6],[7,8,9]])