说我有一个大型数组:
A = 2*np.ones([100, 100, 100])
例如,我想对其进行一些计算:
def squared_elements(M):
yield M**2
我选择使用生成器函数,因为我的数组很大,并且我不需要所有结果。事实上,我只需要在矩阵中心放置一个长度为10的立方体。
如果是正常功能,我可以写:
result = squared_elements(A)[45:55, 45:55, 45:55]
但是,生成器不可下标,因此最后一个表达式不起作用。
如何使用生成器函数获得相同的result
?