numpy.nested_iters#
- numpy.nested_iters(op, axes, flags=None, op_flags=None, op_dtypes=None, order='K', casting='safe', buffersize=0)#
- Create nditers for use in nested loops - Create a tuple of - nditerobjects which iterate in nested loops over different axes of the op argument. The first iterator is used in the outermost loop, the last in the innermost loop. Advancing one will change the subsequent iterators to point at its new element.- Parameters:
- opndarray or sequence of array_like
- The array(s) to iterate over. 
- axeslist of list of int
- Each item is used as an “op_axes” argument to an nditer 
- flags, op_flags, op_dtypes, order, casting, buffersize (optional)
- See - nditerparameters of the same name
 
- Returns:
- iterstuple of nditer
- An nditer for each item in axes, outermost first 
 
 - See also - Examples - Basic usage. Note how y is the “flattened” version of [a[:, 0, :], a[:, 1, 0], a[:, 2, :]] since we specified the first iter’s axes as [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