numpy.ndenumerate
class numpy.ndenumerate(arr)
Класс ndenumerate() создает объект итератора, который возвращающает пары с индексом элементов в массиве и их значением.
-
- arr - массив NumPy.
- Исходный массив.
Примеры
>>> 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)