这涉及到吧多维数组映射为一维数组。

对于3维数组,有公式:

def MAP(x,y,z):
return y_s * z_s * x + z_s * y + z

此公式可以推广到N维

测试代码:(两个输出相同,说明测试成功)

import numpy as np

x_s=4
y_s=3
z_s=9 def MAP(x,y,z):
return y_s * z_s * x + z_s * y + z org=np.arange(x_s*y_s*z_s)
arr=np.resize(org,[x_s,y_s,z_s]) x=2
y=1
z=3
print(org[MAP(x,y,z)])
print(arr[x,y,z])
05-11 21:52