1. 程式人生 > >python 下矩陣倒置的實現

python 下矩陣倒置的實現

python 線性代數

Python下矩陣倒置,可以用雙重循環,或者是zip實現。

  1. 循環實現:

嵌套的列表推導式

matrix = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]
matrix_t = [[row[col] for row in matrix] for col in range(len(matrix[0]))]
matrix_t
[[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]

原理很簡單:先循環列,在固定列上循環每一行。

  1. 用zip 實現(以python3為實現方式):

    matrix = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]

    matrix_t = list(map(list, zip(*matrix)))
    matrix_t
    [[1, 5, 9], [2, 6, 10], [3, 7, 11], [4, 8, 12]]

原理也很清晰:先用zip並行叠代每一個列表,然後再用map將叠代後的元組轉成列表。

python 下矩陣倒置的實現