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

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

от krista , в категории: Python , 7 месяцев назад

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

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

от narciso , 3 месяца назад

@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() ожидает несколько итерируемых объектов и возвращает итерат