我有一个由函数组成的数组,当我输入时,我想要一个数组中所有函数的输出,正如我们所知,我可以使用for循环一个接一个地完成,但如果我想要一次输出,那么如何一次完成,这样它就很快了。
我们可以按照以下重新生成问题
假设我们有一个正方形、立方体、二重和三重函数,如下
def square(x):
return x**2
def cube(x):
return x**3
def double(x):
return 2*x
def triple(x):
return 3*x
现在创建一个这个函数的数组,形状为2x2,如下所示
arr = np.array([[double , triple],[square , cube]]
现在我想得到一个数组,它的值为2,看起来像
array([[2, 4],
[6, 8]])
虽然我可以像双一样单独完成
arr[0,0](2)
但我想同时高效地完成
注意,这个函数只是幻觉,实际问题有由不同函数组成的不同数组,但它们可以接受相同类型的输入,我可以说
如果你的数组总是有相同的形状,那么你可以这样做:
arr = np.array([i(2) for i in arr.reshape(4)]).reshape(2,2)