是否有一个函数可以获取函数列表和输入并输出输入函数列表?
所以像map
,但是向后:
>>>map(lambda x: 2*x,[1,2,3,4,5,6,7,8,9])
[2, 4, 6, 8, 10, 12, 14, 16, 18]
>>>reverseMap([lambda x: x**2,lambda x: x**3],3)
[9,27]
答案 0 :(得分:12)
您实际上可以使用map
来执行此操作:
>>> map(lambda f: f(3), [lambda x: x**2,lambda x: x**3])
[9, 27]
使用要作为iterable应用的函数列表,然后将每个函数应用于输入(在本例中为3)。
答案 1 :(得分:6)
您可以使用简单的list comprehension:
>>> funcs = [lambda x: x**2, lambda x: x**3]
>>>
>>> [f(3) for f in funcs]
[9, 27]
答案 2 :(得分:4)
简单地说:
In [1]: [f(3) for f in lambda x: x**2,lambda x: x**3]
Out[1]: [9, 27]
如果您愿意,可以将其包装在一个函数中。