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 для каждого элемента в оси, сначала внешние
Смотрите также
Примеры
Базовое использование. Обратите внимание, как 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