🔄 Как повернуть матрицу в 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. Удачи в вашем изучении программирования!

Видео по теме

Переворачиваем двумерный массив на 90 градусов в одной строке или как транспонировать матрицу

4.5 Поворот матрицы. "Поколение Python": курс для продвинутых. Курс Stepik

Поворот матрицы на 90 градусов 1/3

Похожие статьи:

🔧 Как сделать мод на Майнкрафт на Питоне: пошаговая инструкция!

Как считать в питоне: 5 простых способов для начинающих 🐍

Как мыслить, как компьютерный ученый на Python 3: Простые шаги 🐍

🔄 Как повернуть матрицу в Python: простой и эффективный способ

Как сдвинуть числа в строке python: простое руководство с использованием 🐍

💤 Сонник: Питон огромный - к чему снится женщине | Понимание снов 💭

Как обозначить двумерный массив в питоне: простое объяснение и примеры