是否有一个函数,它接受一个函数列表和一个输入,并在输入上输出函数列表?
所以喜欢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]
Run Code Online (Sandbox Code Playgroud)
mdm*_*dml 12
实际上你可以使用a map来做到这一点:
>>> map(lambda f: f(3), [lambda x: x**2,lambda x: x**3])
[9, 27]
Run Code Online (Sandbox Code Playgroud)
使用要作为iterable应用的函数列表,然后将它们中的每一个应用于输入(在本例中为3).
您可以使用简单的列表理解:
>>> funcs = [lambda x: x**2, lambda x: x**3]
>>>
>>> [f(3) for f in funcs]
[9, 27]
Run Code Online (Sandbox Code Playgroud)