numpy.nested_iters #

麻木的。nested_iters ( op , axis , flags = None , op_flags = None , op_dtypes = None , order = 'K' , casting = 'safe' , buffersize = 0 ) #

创建用于嵌套循环的 nditers

创建一个对象元组nditer,这些对象在 op 参数的不同轴上的嵌套循环中进行迭代。第一个迭代器用于最外层循环,最后一个迭代器用于最内层循环。前进一个将更改后续迭代器以指向其新元素。

参数
op ndarray 或 array_like 序列

要迭代的数组。

int 列表的轴列表

每个项目都用作 nditer 的“op_axes”参数

标志、op_flags、op_dtypes、顺序、转换、缓冲区大小(可选)

查看nditer同名参数

返回
nditer 的iters元组

axes中每个项目的 nditer ,最外面的第一个

也可以看看

nditer

例子

基本用法。请注意 y 是 [a[:, 0, :], a[:, 1, 0], a[:, 2, :]] 的“扁平化”版本,因为我们将第一个 iter 的轴指定为 [1]

>>> a = np.arange(12).reshape(2, 3, 2)
>>> i, j = np.nested_iters(a, [[1], [0, 2]], flags=["multi_index"])
>>> for x in i:
...      print(i.multi_index)
...      for y in j:
...          print('', j.multi_index, y)
(0,)
 (0, 0) 0
 (0, 1) 1
 (1, 0) 6
 (1, 1) 7
(1,)
 (0, 0) 2
 (0, 1) 3
 (1, 0) 8
 (1, 1) 9
(2,)
 (0, 0) 4
 (0, 1) 5
 (1, 0) 10
 (1, 1) 11