首页 > 解决方案 > 矩阵转置 python 4x3 到 3x4 python

问题描述

**大家好,我有一个问题。你能帮我解决一下吗,我不明白为什么我的代码不正确。我有一个矩阵:

a = [
    [33,15,14],
    [3,55,21],
    [0,17,12],
    [7,0,15]
]
and need to transpose it to:
Transpose = [
    [33,3,0,7],
    [15,55,17,0],
    [14,21,12,15]
]
T = [
    [0,0,0,0],
    [0,0,0,0],
    [0,0,0,0]
]
print(T)
for i in range(len(a)):
    for j in range(len(a[0])):
        T[i][j] = a[j][i]

为什么在这段代码之后我得到一个索引超出范围的错误?它不会像这样迭代:

a[0][0] = a[0][0]
a[0][1] = a[1][0]
a[0][2] = a[2][0]

等等。**

标签: pythonmatrixtranspose

解决方案


len(a)给出数组中对象的数量

但是,您永远不会考虑数组以 0 作为第一个位置的事实。

尝试len(a)-1len(a[0])-1它应该工作。


推荐阅读