Как повернуть матрицу на 90 градусов против часовой стрелки в Python? Лучший способ с примерами!

Для поворота матрицы на 90 градусов против часовой стрелки в Python, вы можете использовать следующий код:


# Исходная матрица
matrix = [[1, 2, 3],
          [4, 5, 6],
          [7, 8, 9]]

# Поворот матрицы на 90 градусов
rotated_matrix = [list(reversed(col)) for col in zip(*matrix)]

# Вывод повернутой матрицы
print(rotated_matrix)
    

В этом коде мы используем функцию zip(*matrix), которая транспонирует матрицу, то есть заменяет строки на столбцы. Затем мы использовали функцию reversed, чтобы перевернуть каждую строки в транспонированной матрице. В результате получается матрица, повернутая на 90 градусов против часовой стрелки.

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

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

Вступление

Поворот матрицы на 90 градусов против часовой стрелки является распространенной задачей, которую можно решить с помощью программирования на языке Python. В этой статье рассмотрим, как выполнить такой поворот и предоставим примеры кода для лучшего понимания.

1. Понимание задачи

Прежде чем мы приступим к кодированию, давайте разберемся, каким образом мы можем повернуть матрицу на 90 градусов против часовой стрелки. Для этого нам понадобится новая матрица, в которой столбцы исходной матрицы станут строками новой матрицы, а строки исходной матрицы будут столбцами новой матрицы. Таким образом, если исходная матрица имеет размерность N x M, то новая матрица будет иметь размерность M x N.

2. Алгоритм решения

Для решения этой задачи, мы можем использовать вложенные циклы для перебора элементов исходной матрицы и заполнения новой матрицы. При переборе элементов исходной матрицы, мы должны обратить внимание на индексы, чтобы правильно разместить элементы в новой матрице.

Ниже приведен алгоритм для поворота матрицы на 90 градусов против часовой стрелки:

def rotate_matrix(matrix):
    rows = len(matrix)
    cols = len(matrix[0])
    new_matrix = [[0] * rows for _ in range(cols)]
    
    for i in range(rows):
        for j in range(cols):
            new_matrix[j][rows - 1 - i] = matrix[i][j]
    
    return new_matrix

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

rotated_matrix = rotate_matrix(matrix)
print(rotated_matrix)

В приведенном коде, мы определяем функцию rotate_matrix, которая принимает исходную матрицу в качестве параметра и возвращает новую повернутую матрицу.

Мы также определяем переменные rows и cols, которые содержат количество строк и столбцов исходной матрицы соответственно. Затем мы создаем новую матрицу с использованием спискового включения, чтобы заполнить ее нулями. Размерность новой матрицы - cols x rows.

Во вложенных циклах, мы перебираем элементы исходной матрицы, используя переменные i и j как индексы. Мы используем формулу new_matrix[j][rows - 1 - i] для правильного размещения элементов в новой матрице с учетом поворота на 90 градусов против часовой стрелки.

В конце мы возвращаем новую матрицу и проверяем ее, вызывая функцию print.

3. Пример выполнения

Давайте рассмотрим пример выполнения кода нашей функции:

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

rotated_matrix = rotate_matrix(matrix)
print(rotated_matrix)

Вывод:

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

Как видно из вывода, исходная матрица [[1, 2, 3], [4, 5, 6], [7, 8, 9]] была повернута на 90 градусов против часовой стрелки и превратилась в новую матрицу [[3, 6, 9], [2, 5, 8], [1, 4, 7]].

Заключение

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

Видео по теме

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

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

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

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

Документация pandas python: изучаем основы и применение

🔍 Что такое миксины в Python: подробное объяснение и использование 🔍

Как удалить число из списка в Python: простой способ и руководство по удалению

Как повернуть матрицу на 90 градусов против часовой стрелки в Python? Лучший способ с примерами!

Как сохранить список в файл python: простой способ сохранения в файл с использованием Python

📊 Как наложить один график на другой в Python: простой способ