python - 在 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])
我希望框架成为最内层的循环,但是当我运行上述代码时出现索引错误。关于如何修改上述代码的任何建议?
解决方案
您应该使用以下内容:
>>> 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])
您在原始代码中使用了错误的索引器。
推荐阅读
- java - 无法在活动之间传递数据。数据为空白
- python - 如何循环和删除包含子字符串的嵌套列表中的元素?
- javascript - npx create-react-app my-app 错误:rollbackFailedOptional
- php - 在构造函数中分配的 Laravel 作业新属性未在句柄方法中显示
- javascript - 为什么 CSS 在不同的页面大小上无法正常工作
- c# - 在 C# 中使用 SELECT 插入表时出现 Oracle 错误
- javascript - 如何在嵌入视频的末尾添加缩略图?
- android - 导航抽屉中的Android,在当前片段中调用方法
- java - 使用反射在 Java Map 中设置或获取数组
- python - 无论顺序如何,在 2 个列表之间查找共同元素 - python 2