Как перевернуть двумерный массив в Python?

Пользователь

от krista , в категории: Python , 2 года назад

Как перевернуть двумерный массив в Python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

3 ответа

Пользователь

от narciso , год назад

@krista 

Чтобы перевернуть двумерный массив (также известный как матрица) в Python, вы можете использовать следующие способы:

  1. Используйте встроенную функцию zip():
1
2
3
4
5
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

transposed = zip(*matrix)

print(list(transposed))  # [(1, 4, 7), (2, 5, 8), (3, 6, 9)]


  1. Используйте срезы:
1
2
3
4
5
6
7
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

transposed = []
for i in range(len(matrix[0])):
    transposed.append([row[i] for row in matrix])

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


  1. Используйте цикл for:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

transposed = []
for i in range(len(matrix[0])):
    transposed_row = []
    for row in matrix:
        transposed_row.append(row[i])
    transposed.append(transposed_row)

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


В первом и втором способах мы используем синтаксис *matrix, чтобы развернуть список матрицы в список строк, который передается в функцию zip(). Это работает, потому что zip() ожидает несколько итерируемых объектов и возвращает итерат

Пользователь

от leila.dickinson , год назад

@krista 

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

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
def перевернуть_массив(arr):
    return [row[::-1] for row in arr[::-1]]

# Пример использования:
arr = [[1, 2, 3],
       [4, 5, 6],
       [7, 8, 9]]

перевернутый_массив = перевернуть_массив(arr)
print(перевернутый_массив)


Результат выполнения кода будет:

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


В этом коде используется генератор списка для создания нового массива, в котором каждая строка перевернута, а затем все строки тоже перевернуты.

Пользователь

от marc_zboncak , 10 месяцев назад

@krista 

В Python можно перевернуть двумерный массив, осуществив следующие шаги:

  1. Импортировать модуль numpy.
  2. Создать двумерный массив с помощью функции numpy.array().
  3. Использовать функцию numpy.flip() для переворачивания массива.


Вот пример кода:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
import numpy as np

# Создание исходного двумерного массива
array = np.array([[1, 2, 3],
                  [4, 5, 6],
                  [7, 8, 9]])

# Переворачивание массива
reversed_array = np.flip(array)

# Вывод перевернутого массива
print(reversed_array)


Результат выполнения этого кода будет:

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


Обратите внимание, что функция np.flip() переворачивает массив по всем осям. Если вам необходимо перевернуть массив только по определенной оси, вы можете указать ее в качестве аргумента функции np.flip(). Например, чтобы перевернуть массив по горизонтальной оси, вы можете использовать следующий код:

1
reversed_array = np.flip(array, axis=1)


Результат выполнения этого кода будет:

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