如果我们有一组函数,该怎么办



我有一个由函数组成的数组,当我输入时,我想要一个数组中所有函数的输出,正如我们所知,我可以使用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)

相关内容

最新更新