numpy.nested_iters#

numpy.nested_iters(op, axes, flags=None, op_flags=None, op_dtypes=None, order='K', casting='safe', buffersize=0)#

建立用於巢狀迴圈的 nditer

建立 nditer 物件的元組,這些物件在 op 引數的不同軸上以巢狀迴圈迭代。第一個迭代器用於最外層迴圈,最後一個迭代器用於最內層迴圈。推進一個迭代器將會更改後續迭代器,使其指向其新元素。

參數:
opndarray 或 array_like 序列

要迭代的陣列。

axesint 列表的列表

每個項目都用作 nditer 的 “op_axes” 引數

flags、op_flags、op_dtypes、order、casting、buffersize (選用)

請參閱同名的 nditer 參數

返回:
itersnditer 元組

每個 axes 中的項目的 nditer,最外層優先

參見

nditer

範例

基本用法。請注意 y 如何成為 [a[:, 0, :], a[:, 1, 0], a[:, 2, :]] 的「扁平化」版本,因為我們將第一個迭代器的軸指定為 [1]

>>> import numpy as np
>>> 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