numpy.ndenumerate

class numpy.ndenumerate(arr)

Класс ndenumerate() создает объект итератора, который возвращающает пары с индексом элементов в массиве и их значением.

Параметры:
arr - массив NumPy.
Исходный массив.
Смотрите так же:
ndindex, flatiter, flat, flatten


Примеры

>>> import numpy as np
>>> 
>>> a = np.arange(10, 20)
>>> a
array([10, 11, 12, 13, 14, 15, 16, 17, 18, 19])
>>> 
>>> for ind, val in np.ndenumerate(a):
...     print(ind, val)
... 
(0,) 10
(1,) 11
(2,) 12
(3,) 13
(4,) 14
(5,) 15
(6,) 16
(7,) 17
(8,) 18
(9,) 19

Исходный массив может быть любой размерности:

>>> a = np.arange(8).reshape(2, 2, 1, 2, 1)
>>> for ind, val in np.ndenumerate(a):
...     print(ind, val)
... 
(0, 0, 0, 0, 0) 0
(0, 0, 0, 1, 0) 1
(0, 1, 0, 0, 0) 2
(0, 1, 0, 1, 0) 3
(1, 0, 0, 0, 0) 4
(1, 0, 0, 1, 0) 5
(1, 1, 0, 0, 0) 6
(1, 1, 0, 1, 0) 7

Метод next() возвращает следующую итерацию:

>>> a = np.arange(9).reshape(3, 3)
>>> nd_enum = np.ndenumerate(a)
>>> 
>>> nd_enum.next()
((0, 0), 0)
>>> nd_enum.next()
((0, 1), 1)
>>> nd_enum.next()
((0, 2), 2)