我在Python中有一个3D数组,我需要迭代数组中的所有多维数据集。也就是说,在阵列的尺寸都(x,y,z)
我需要访问立方体:遍历3D数组的迭代方法
array[(x + 0, y + 0, z + 0)]
array[(x + 1, y + 0, z + 0)]
array[(x + 0, y + 1, z + 0)]
array[(x + 1, y + 1, z + 0)]
array[(x + 0, y + 0, z + 1)]
array[(x + 1, y + 0, z + 1)]
array[(x + 0, y + 1, z + 1)]
array[(x + 1, y + 1, z + 1)]
该阵列是一个numpy的阵列,尽管这不是真的有必要。我只是发现使用numpy.fromfile()
来读取数据非常容易。
是否有更多的Pythonic方式来遍历这些比以下?这看起来像使用Python语法的C。
for x in range(x_dimension):
for y in range(y_dimension):
for z in range(z_dimension):
work_with_cube(array[(x + 0, y + 0, z + 0)],
array[(x + 1, y + 0, z + 0)],
array[(x + 0, y + 1, z + 0)],
array[(x + 1, y + 1, z + 0)],
array[(x + 0, y + 0, z + 1)],
array[(x + 1, y + 0, z + 1)],
array[(x + 0, y + 1, z + 1)],
array[(x + 1, y + 1, z + 1)])
这会不会通过HTTP来回答://stackoverflow.com/questions/1280667/in-python-is-there-an-easier-way-to-write-6-nested-for-loops? – tom10 2009-08-22 14:29:40
这将是范围(...- 1),这里... – EOL 2009-08-22 18:12:39
其实,是@ tom10,它确实回答了问题 – 2009-08-22 18:40:55