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]] """ def matrix_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 matrix = [ [1,2,3,0], [4,5,6,1], [7,8,9,2], [1,2,3,4], [4,5,6,7] ] print(matrix_transpose(matrix)) # Output # [[1, 4, 7, 1, 4], [2, 5, 8, 2, 5], [3, 6, 9, 3, 6], [0, 1, 2, 4, 7]]