🔄 Как повернуть матрицу в Python: простой и эффективный способ
Чтобы повернуть матрицу в Python, вы можете использовать функцию numpy.rot90().
Вот пример кода:
import numpy as np
# Исходная матрица
matrix = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
# Поворот матрицы на 90 градусов
rotated_matrix = np.rot90(matrix)
print(rotated_matrix)
В результате выполнения этого кода в консоли вы увидите повернутую матрицу:
[[7 4 1] [8 5 2] [9 6 3]]
Функция numpy.rot90() поворачивает матрицу против часовой стрелки на 90 градусов.
Детальный ответ
Как повернуть матрицу в Python?
Поворот матрицы – это операция, при которой каждый столбец матрицы становится соответствующей строкой в новой матрице. В этой статье мы рассмотрим, как выполнить поворот матрицы в Python и предоставим несколько примеров кода.
Метод 1: Использование встроенной функции zip
Python предоставляет функцию zip(), которая позволяет объединять элементы из разных последовательностей в одну последовательность. Мы можем использовать эту функцию для выполнения поворота матрицы.
def rotate_matrix(matrix):
return list(zip(*matrix))
В этом примере функция rotate_matrix() принимает матрицу в качестве параметра и использует функцию zip(), чтобы выполнить поворот матрицы. Затем она возвращает результат в виде списка.
Давайте рассмотрим пример использования этой функции:
matrix = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
rotated_matrix = rotate_matrix(matrix)
print(rotated_matrix)
Результат выполнения этого кода будет следующим:
[(1, 4, 7),
(2, 5, 8),
(3, 6, 9)]
Видно, что исходная матрица была повернута таким образом, что строки стали столбцами.
Метод 2: Использование списковых включений
Другой способ выполнить поворот матрицы в Python – использовать списковые включения. Мы можем создать новую матрицу, перебирая элементы исходной матрицы и помещая их в правильные позиции в новой матрице.
def rotate_matrix(matrix):
row_len = len(matrix)
col_len = len(matrix[0])
rotated_matrix = [[matrix[j][i] for j in range(row_len)] for i in range(col_len)]
return rotated_matrix
В этом примере мы используем два цикла for для перебора строк и столбцов исходной матрицы. Затем мы помещаем элементы в правильные позиции в новой матрице rotated_matrix, используя списковые включения.
Давайте рассмотрим пример использования этой функции:
matrix = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
rotated_matrix = rotate_matrix(matrix)
print(rotated_matrix)
Результат выполнения этого кода будет таким же, как в предыдущем примере:
[[1, 4, 7],
[2, 5, 8],
[3, 6, 9]]
Видно, что исходная матрица была повернута таким образом, что строки стали столбцами.
Заключение
В этой статье мы рассмотрели два способа выполнения поворота матрицы в Python. Вы можете выбрать любой из этих методов в зависимости от вашего предпочтения. Оба они являются эффективными и легко читаемыми.
Если вы хотите выучить больше о работе с матрицами в Python, рекомендуется изучить модуль numpy, который предоставляет более мощные и гибкие инструменты для работы с матрицами и многомерными массивами.
Надеюсь, что эта статья помогла вам разобраться в том, как повернуть матрицу в Python. Удачи в вашем изучении программирования!