📜  如何以相反的顺序获取 NumPy 多维数组的索引?(1)

📅  最后修改于: 2023-12-03 15:37:56.663000             🧑  作者: Mango

如何以相反的顺序获取 NumPy 多维数组的索引?

在 NumPy 中,我们可以通过 ndarray.shape 属性来获取多维数组的各个维度大小,然后使用 ndarray.shape[i] 来获取每个维度的大小。然后,我们可以使用 np.ndindex 函数来创建一个迭代器,该迭代器从多维数组的索引开始。默认情况下,该迭代器将按照相同的顺序生成索引,因此我们需要使用 Python 的 reversed 函数来倒序迭代器,从而按相反的顺序获取多维数组的索引。

下面是一个示例代码:

import numpy as np

a = np.array([[1, 2], [3, 4], [5, 6]])
for index in reversed(list(np.ndindex(a.shape))):
    print(index)

输出结果为:

(2, 1)
(2, 0)
(1, 1)
(1, 0)
(0, 1)
(0, 0)

在上面的示例代码中,我们创建了一个 3×2 的多维数组,并使用 np.ndindex(a.shape) 函数创建了一个从 (0, 0) 到 (2, 1) 的迭代器。然后,我们使用 reversed 函数将迭代器倒序,并在 for 循环中按照倒序的顺序获取索引值。

这是一个非常简单的方法,能够方便地以相反的顺序获取多维数组的索引。