Python 如何在多维矩阵中循环?

Python 如何在多维矩阵中循环?,python,matrix,Python,Matrix,所以我想循环一个多维矩阵,形状为(82680,1,1024,4),以便能够标记其中哪些是值0。 我怎样才能做到这一点呢?这可能不是最有效的方法,但简单的方法是 zero_locations = [] for i in range(82680): for j in range(1): for k in range(1024): for l in range(4): if matrix[i][j][k][l] == 0

所以我想循环一个多维矩阵,形状为(82680,1,1024,4),以便能够标记其中哪些是值0。
我怎样才能做到这一点呢?

这可能不是最有效的方法,但简单的方法是

zero_locations = []

for i in range(82680):
    for j in range(1):
        for k in range(1024):
            for l in range(4):
                if matrix[i][j][k][l] == 0:
                    zero_locations.append((i, j, k, l))

这样做的目的是迭代矩阵中的每个项,在最内层的for循环中,我们将单元格的值与0进行比较。如果单元格等于零,我们将包含四个“坐标”的a附加到一个列表。

中循环是什么意思?也许通过一个例子来说明代码中如果是一个numpy数组,使用
np。where(arr==0)
它似乎可以工作,但运行时间太长。我同意马苏德的回答,如果你能确保这个矩阵在数组中,那么
np。where(arr==0)
应该是一个更有效的解决方案。