Three ways to implement matrix transposition in Python without using API and numpy

 If the matrix is: matrix = [[1,2,3], [4,5,6], [7,8,9]]

The first method does not use additional array space:

for i in range(len(matrix)):
        for j in range(0, i):
            matrix[i][j],matrix[j][i] = matrix[j][i],matrix[i][j]

Second, use extra space:

res = []
for i in range(len(matrix[0])):
    temp = []
    for j in range(len(matrix)):
        temp.append(matrix[j][i])
    res.append(temp)

The third type, one-line completion

matrix = [[num[i] for num in matrix] for i in range(len(matrix[0]))]

 

Guess you like

Origin blog.csdn.net/Matrix_cc/article/details/105757578