1. 程式人生 > >Python矩陣逆轉與轉置

Python矩陣逆轉與轉置

numpy實現

import numpy as np

np.transpose([list])    # 矩陣轉置
np.transpose([list]).tolist()    # 矩陣轉list
>>> import numpy as np
>>> np.transpose([[1, 2, 3], [1, 2, 3], [1, 2, 3]])
array([[1, 1, 1],
       [2, 2, 2],
       [3, 3, 3]])
>>> np.transpose([[1, 2, 3], [1, 2, 3], [1, 2, 3]]).tolist()
[[1, 1, 1], [2, 2, 2], [3, 3, 3]]

 

矩陣轉置

矩陣的轉置就是從行變成列, 列變成行

用zip將一系列可迭代物件中的元素打包為元組,之後將這些元組放置在列表中,兩步加起來等價於行列轉置。

# 矩陣的轉置
def transpose(list1):
    return [list(row) for row in zip(*list1)]
 
list1 = [[1, 4], [2, 5], [3, 6]]
print(transpose(list1))  # [[1, 2, 3], [4, 5, 6]]

 

 

# 矩陣逆轉
def invert(list1):
    return [row[::-1] for row in list1]
list1 = [[1, 4], [2, 5], [3, 6]]
print(invert(list1))  # [[4, 1], [5, 2], [6, 3]]

矩陣逆轉

取出每行的元素,逆序索引遍歷 = 左右翻轉。