numpy.nested_iters#

numpy.nested_iters(op, оси, флаги=None, op_flags=None, op_dtypes=None, порядок='K', приведение типов='safe', buffersize=0)#

Создание nditers для использования во вложенных циклах

Создать кортеж из nditer объекты, которые итерируются во вложенных циклах по разным осям аргумента op. Первый итератор используется во внешнем цикле, последний — во внутреннем. Переход к следующему элементу изменит последующие итераторы, чтобы они указывали на его новый элемент.

Параметры:
opndarray или последовательность array_like

Массив(ы) для итерации.

осисписок списков целых чисел

Каждый элемент используется как аргумент "op_axes" для nditer

flags, op_flags, op_dtypes, order, casting, buffersize (необязательно)

См. nditer параметры с тем же именем

Возвращает:
итераторыкортеж nditer

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