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 序列
要迭代的数组.
- axeslist of list of int
每个项目都用作 nditer 的 “op_axes” 参数
- flags, op_flags, op_dtypes, order, casting, buffersize (optional)
参见同名的
nditer参数
- 返回:
- itersnditer 的元组
axes 中每个项目的 nditer,最外层优先
参见
示例
基本用法.请注意,由于我们指定了第一个迭代器的轴为 [1],因此 y 是 [a[:, 0, :], a[:, 1, 0], a[:, 2, :]] 的"扁平"版本
>>> 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