🔄 Как повернуть матрицу в Питоне на 90 градусов? Инструкция и примеры 🖥️

Чтобы повернуть матрицу в питоне на 90 градусов, мы можем использовать функцию numpy.rot90(). Вот пример:
import numpy as np

matrix = np.array([[1, 2, 3],
                   [4, 5, 6],
                   [7, 8, 9]])

rotated_matrix = np.rot90(matrix)

print(rotated_matrix)
Результатом будет:
[[3 6 9]
 [2 5 8]
 [1 4 7]]
Операция np.rot90() поворачивает матрицу на 90 градусов против часовой стрелки. Мы можем указать количество поворотов, например np.rot90(matrix, 2) повернет матрицу на 180 градусов.

Детальный ответ

Как повернуть матрицу в Python на 90 градусов?

Когда дело доходит до манипуляций с матрицами в Python, есть множество операций, которые можно выполнить. Одна из таких операций - поворот матрицы на 90 градусов. В этой статье мы рассмотрим различные подходы к этой задаче.

Метод 1: Использование встроенной функции zip()

Первый подход, который мы рассмотрим, это использование функции zip(). Функция zip() принимает несколько итерируемых объектов и возвращает кортежи, содержащие элементы с одинаковыми индексами из каждого объекта. Мы можем использовать эту функцию, чтобы повернуть матрицу на 90 градусов следующим образом:

def rotate_matrix(matrix):
    rotated = list(zip(*matrix[::-1]))
    return rotated

matrix = [[1, 2, 3],
          [4, 5, 6],
          [7, 8, 9]]

rotated_matrix = rotate_matrix(matrix)
print(rotated_matrix)

В этом примере мы определяем функцию rotate_matrix(), которая принимает матрицу в качестве параметра. Мы используем срез [::-1], чтобы развернуть матрицу в обратном порядке, а затем передаем ее в функцию zip(), чтобы получить повернутую матрицу. Наконец, мы возвращаем повернутую матрицу. Пример вывода:

[(7, 4, 1),
 (8, 5, 2),
 (9, 6, 3)]

Метод 2: Использование модуля numpy

Второй подход, который мы рассмотрим, это использование модуля numpy. Numpy - это библиотека Python, предназначенная для выполнения математических операций, включая манипуляции с массивами и матрицами.

import numpy as np

matrix = np.array([[1, 2, 3],
                   [4, 5, 6],
                   [7, 8, 9]])

rotated_matrix = np.rot90(matrix)
print(rotated_matrix)

В этом примере мы используем функцию np.rot90() из модуля numpy, чтобы повернуть матрицу на 90 градусов. Пример вывода:

[[3 6 9]
 [2 5 8]
 [1 4 7]]

Как видите, результат совпадает с результатом из первого метода.

Метод 3: Использование циклов

Третий подход, который мы рассмотрим, это использование циклов для поворота матрицы. Мы можем создать новую матрицу, перебирая элементы исходной матрицы и помещая их в соответствующие позиции в новой матрице.

def rotate_matrix(matrix):
    n = len(matrix)
    rotated = [[0 for _ in range(n)] for _ in range(n)]
    
    for i in range(n):
        for j in range(n):
            rotated[j][n-i-1] = matrix[i][j]
    
    return rotated

matrix = [[1, 2, 3],
          [4, 5, 6],
          [7, 8, 9]]

rotated_matrix = rotate_matrix(matrix)
print(rotated_matrix)

В этом примере мы определяем функцию rotate_matrix(), которая принимает матрицу в качестве параметра. Мы создаем новую матрицу "rotated" с размером nxn, где n - размер исходной матрицы. Затем мы перебираем элементы исходной матрицы и помещаем их в соответствующие позиции в новой матрице, используя формулы j и n-i-1.

Это был обзор трех различных методов для поворота матрицы на 90 градусов в Python. Вы можете выбрать тот метод, который наиболее удобен для вашего конкретного случая. Удачи в освоении работы с матрицами в Python!

Видео по теме

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

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

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

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

🔎 Как использовать функцию sqrt в Python: простой гайд для новичков

🔍 Как легко удалить часть строки в Python: 5 простых способов

🔎 Как сравнить объекты класса в Питоне: простой гид и советы

🔄 Как повернуть матрицу в Питоне на 90 градусов? Инструкция и примеры 🖥️

Как реализована сортировка в Python? 🧐 Подробный обзор и примеры

🔥 Как легко и быстро конвертировать string в int в Python?💡

💡 Как называется в Python: подробное руководство и примеры кода