Метод 1: перебор строк за строками
Один простой подход — перебирать матрицу построчно. Этот метод особенно полезен, когда вам нужно выполнить операции, которые зависят от значений в определенной строке. Вот фрагмент кода Python, демонстрирующий этот метод:
matrix = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
for row in matrix:
for element in row:
# Do something with the element
print(element)
Метод 2: перебор столбца за столбцом
Подобно предыдущему методу, вы также можете перебирать матрицу столбец за столбцом. Этот метод пригодится, если вы хотите выполнить операции, основанные на значениях в определенном столбце. Вот пример на Python:
matrix = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
for column_idx in range(len(matrix[0])):
for row_idx in range(len(matrix)):
element = matrix[row_idx][column_idx]
# Do something with the element
print(element)
Метод 3: итерация по диагонали
Иногда вам может потребоваться пройти матрицу по диагонали. Это полезно, например, при работе с симметричными матрицами или операциями, специфичными для диагонали. Давайте взглянем на простой фрагмент кода на Python:
matrix = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
num_rows = len(matrix)
num_columns = len(matrix[0])
for offset in range(num_columns + num_rows - 1):
for row_idx in range(max(0, offset - num_columns + 1), min(offset + 1, num_rows)):
column_idx = offset - row_idx
element = matrix[row_idx][column_idx]
# Do something with the element
print(element)
Метод 4: использование NumPy и широковещание
Если вы работаете с Python и вам необходимо эффективно выполнять сложные матричные операции, библиотека NumPy станет мощным союзником. NumPy предоставляет широкий набор функций и методов для манипулирования матрицами. Например:
import numpy as np
matrix = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
# Perform element-wise addition
result = matrix + 10
print(result)