Метод iternext
Метод iternext класса nditer
продвигает итератор на следующую позицию
в многомерном массиве. Метод возвращает
True, если итерация успешно
продолжается, и False, когда
итератор достигает конца обхода.
Этот метод используется в циклах
для ручного управления процессом
итерации.
Синтаксис
iterator.iternext()
Метод не принимает аргументов.
Возвращает булево значение:
True - итерация продолжается,
False - достигнут конец.
Пример
Давайте создадим одномерный массив
и пройдём по нему с помощью метода
iternext:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
it = np.nditer(arr)
while it.iternext():
print(it[0], end=' ')
Результат выполнения кода:
1 2 3 4 5
Пример
Рассмотрим обход многомерного массива
с использованием метода iternext
для доступа к элементам по порядку:
import numpy as np
arr = np.array([[1, 2, 3], [4, 5, 6]])
it = np.nditer(arr)
res = []
while it.iternext():
res.append(it[0])
print(res)
Результат выполнения кода:
[1, 2, 3, 4, 5, 6]
Пример
Покажем, как метод iternext
возвращает False при завершении
обхода массива:
import numpy as np
arr = np.array([10, 20, 30])
it = np.nditer(arr)
count = 0
while it.iternext():
count += 1
print(f"Processed {count} elements")
print(it.iternext())
Результат выполнения кода:
"Processed 3 elements"
False
Пример
Используем метод iternext
для обхода двух массивов одновременно
с помощью итератора с несколькими
операндами:
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
it = np.nditer([arr1, arr2])
res = []
while it.iternext():
res.append(it[0] + it[1])
print(res)
Результат выполнения кода:
[5, 7, 9]
Смотрите также
-
класс
nditer,
который создаёт итератор для обхода массивов -
метод
enable_external_loop,
который включает внешний цикл для повышения производительности -
метод
remove_axis,
который удаляет ось из итерации -
метод
reset,
который сбрасывает итератор в начальное состояние