矩阵转置(行列互换)
如图一个二维列表
target_list = [[1, 2, 3, 4],[5, 6, 7, 8],[9, 10, 11, 12],[13, 14, 15, 16]]
红线处表示行列坐标相等,右上角是列坐标大于行坐标,左下角是行坐标大于列坐标,所以调换只需要遍历右上部分,与其对位交换即可。
代码如下
def maxtrix_inversion(maxtrix_target):
"""矩阵转置
Args:
target (list[][]): 目标矩阵,一个二维列表
"""
for r in range(len(target) - 1):
for c in range(r + 1, len(target[r])):
target[r][c], target[c][r] = target[c][r], target[r][c]