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,...

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.

0 < len() < 10

all(0 < len(row) < 10 for row in )