是否有一个函数获取函数和输入列表,并输出函数列表中的输入操作?Python Map()反向
所以像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]
是否有一个函数获取函数和输入列表,并输出函数列表中的输入操作?Python Map()反向
所以像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]
你其实可以用一个map
做到这一点:
>>> map(lambda f: f(3), [lambda x: x**2,lambda x: x**3])
[9, 27]
使用要应用的迭代的功能列表,然后将它们中的每一个应用于您的输入(在这种情况下为3)。
如何简单:
In [1]: [f(3) for f in lambda x: x**2,lambda x: x**3]
Out[1]: [9, 27]
你可以,如果你喜欢它包装在一个函数。
您可以使用一个简单的list comprehension:
>>> funcs = [lambda x: x**2, lambda x: x**3]
>>>
>>> [f(3) for f in funcs]
[9, 27]