Python Map()反向

Hov*_*tar 3 python

是否有一个函数,它接受一个函数列表和一个输入,并在输入上输出函数列表?

所以喜欢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).


ars*_*jii 6

您可以使用简单的列表理解:

>>> funcs = [lambda x: x**2, lambda x: x**3]
>>> 
>>> [f(3) for f in funcs]
[9, 27]
Run Code Online (Sandbox Code Playgroud)