📅  最后修改于: 2023-12-03 15:37:56.663000             🧑  作者: Mango
在 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 循环中按照倒序的顺序获取索引值。
这是一个非常简单的方法,能够方便地以相反的顺序获取多维数组的索引。