首页 > 解决方案 > 在 Python 中迭代 3d 数组

问题描述

我有一个形状为 (7,4,6​​) 的 3d 矩阵,其中 4x6 是(行 x 列),7 是帧/层数。我想在 4x6 的每个值上迭代每一层。但是,如果我将循环的顺序从(帧、行、列)更改为(行、列、帧),则循环总是会给出索引错误。我使用的代码是:

>>> array.shape
(7, 4, 6)
>>> for i in range(0,4):
...     for j in range(0,6):
...         for k in range(0,7):
...             print(array[i][j][k])

我希望框架成为最内层的循环,但是当我运行上述代码时出现索引错误。关于如何修改上述代码的任何建议?

标签: pythonmultidimensional-array

解决方案


您应该使用以下内容:

>>> array.shape
(7, 4, 6)
>>> for j in range(4):
...     for k in range(6):
...         for i in range(7):
...            print(array[i][j][k])

您在原始代码中使用了错误的索引器。


推荐阅读