
Transposed Matrix
In linear algebra, the transpose of a matrix A is another matrix A T (also written A ′, A tr , t A or A t ) created by any one of the following equivalent actions:
- reflect A over its main diagonal (which runs from top-left to bottom-right) to obtain A T
- write the rows of A as the columns of A T
- write the columns of A as the rows of A T
Formally, the i th row, j th column element of A T is the j th row, i th column element of A :
[ A T ] i j = [ A ] j i
If A is an m × n matrix then A T is an n × m matrix.
You have been given a matrix as a 2D list with integers. Your task is to return a transposed matrix based on input.

Input: A matrix as a list of lists with integers.
Output: The transposed matrix as a list/tuple of lists/tuples with integers.
Example:
checkio([[1, 2, 3], [4, 5, 6], [7, 8, 9]]) == [[1, 4, 7], [2, 5, 8], [3, 6, 9]]) checkio([[1, 4, 3], [8, 2, 6], [7, 8, 3], [4, 9, 6], [7, 8, 1]]) == [[1, 8, 7, 4, 7], [4, 2, 8, 9, 8], [3, 6, 3, 6, 1]])
How it is used: The most obvious use for this idea is in mathematical software, but the concept can be applied in the area of vector graphics. On a computer, one can often avoid explicitly transposing a matrix in memory by simply accessing the same data in a different order.
Precondition:
0 < len(
matrix
) < 10
all(0 < len(row) < 10 for row in
matrix
)