Я новичок в Python, я работаю над Transpose матрицы, но я нашел это длинным кодом, любая короткая процедура, пожалуйста!
mymatrix=[(1,2,3),(4,5,6),(7,8,9),(10,11,12)] for myrow in mymatrix: print(myrow) print("\n") t_matrix = zip(*mymatrix) for myrow in t_matrix: print(myrow)
Вам необходимо установить numpy, чтобы импортировать его Numpy transpose возвращает аналогичный результат, когда наносится на 1D матрицу
import numpy mymatrix=[[1,2,3],[4,5,6]] print(mymatrix) print("\n") print(numpy.transpose(mymatrix))
Использование zip:
zip
mymatrix=[(1,2,3),(4,5,6),(7,8,9),(10,11,12)] myTransposedMatrix = list(zip(*mymatrix)) >>> myTransposedMatrix [(1, 4, 7, 10), (2, 5, 8, 11), (3, 6, 9, 12)]
import numpy as np matrix = np.array([[1,2,3],[4,5,6],[7,8,9],[10,11,12]] ) print(matrix.T)
без использования numpy
Редактировать: для Python2 и Python3
Python3
[*zip(*matrix)]
Python2
zip(*matrix)