Projects/matrix_transpose.py

33 lines
711 B
Python

from typing import List
"""
Transpose a given matrix.
Args:
M (List[List]): A 2D list representing the matrix to be transposed.
Returns:
List[List]: The transposed matrix.
Example:
>>> matrix = [
... [1, 2, 3],
... [4, 5, 6]
... ]
>>> matrix_transpose(matrix)
[[1, 4], [2, 5], [3, 6]]
NOTE: If you import the matrix_transpose module into your project, call it with matrix_transpose.transpose(M).
"""
def transpose(M) -> List[List]:
row = []
T = []
mcols = len(M[0])
nrows = len(M)
for i in range(0, mcols):
for j in range(0, nrows):
row.append(M[j][i])
T.append(row)
row = []
return T