поменять местами цифры в матрице
Есть такая задача:
Код ниже:
matrix = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
matrix.reverse()
for i in range(len(matrix)):
for j in range(i):
matrix[i][j], matrix[j][i] = matrix[j][i], matrix[i][j]
print(matrix)
Объясните пожалуйста почему когда я ставлю в конце перед принтом matrix.reverse(), то получаю другой ответ совсем(такой: [[3, 6, 9], [2, 5, 8], [1, 4, 7]]). В чем разница? И как работает обмен элементов, как программа понимает что именно 741 852 963 нужно ставить?
Только учусь, поэтому не судите строго. Спасибо
Ответы (1 шт):
Автор решения: Bellisa
→ Ссылка
Матрица состоит из строк и столбцов. Когда Вы используете reverse, строки меняются местами со столбцами - это называется транспонированием. Таким образом строки 1,4,7; 2,5,8; 3,6,9; превращаются в столбцы, аналогичная ситуация со столбцами, которые встают на место строк