这涉及到吧多维数组映射为一维数组。
对于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])