РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
529 of 541 menu

Атрибут coords

Атрибут coords класса flatiter возвращает кортеж, содержащий координаты текущего элемента в многомерном массиве. Этот атрибут полезен, когда необходимо знать положение элемента при обходе массива с помощью плоского итератора. Координаты соответствуют индексам по каждому измерению исходного массива.

Синтаксис

flat_iter.coords

Пример

Получим координаты текущего элемента при обходе двумерного массива:

import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) flat_iter = arr.flat for i in range(6): print(f"Index {i}: value = {flat_iter[i]}, coords = {flat_iter.coords}")

Результат выполнения кода:

"Index 0: value = 1, coords = (0, 0)" "Index 1: value = 2, coords = (0, 1)" "Index 2: value = 3, coords = (0, 2)" "Index 3: value = 4, coords = (1, 0)" "Index 4: value = 5, coords = (1, 1)" "Index 5: value = 6, coords = (1, 2)"

Пример

Используем атрибут coords в цикле для изменения элементов по их координатам:

import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) flat_iter = arr.flat for i in range(arr.size): coords = flat_iter.coords if coords[0] == 1: # Вторая строка flat_iter[i] = 0 print(arr)

Результат выполнения кода:

[[1 2 3] [0 0 0]]

Пример

Работа с трёхмерным массивом:

import numpy as np arr = np.array([[[1, 2], [3, 4]], [[5, 6], [7, 8]]]) flat_iter = arr.flat print(f"Shape of array: {arr.shape}") print(f"Coords of first element: {flat_iter.coords}") flat_iter[5] = 99 print(f"Coords of element with index 5: {flat_iter.coords}") print(f"Modified array:\n{arr}")

Результат выполнения кода:

"Shape of array: (2, 2, 2)" "Coords of first element: (0, 0, 0)" "Coords of element with index 5: (1, 0, 1)" "Modified array:" "[[[ 1 2]" " [ 3 4]]" " [[ 5 99]" " [ 7 8]]]"

Смотрите также

  • атрибут index,
    который возвращает плоский индекс текущего элемента
  • атрибут base,
    который возвращает исходный массив, связанный с итератором
  • метод copy,
    который создает копию массива из элементов итератора
  • класс flatiter,
    который предоставляет плоский итератор для многомерных массивов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить