【发布时间】:2021-11-09 20:09:31
【问题描述】:
**大家好,我有一个问题。你能帮我解决一下吗,我不明白为什么我的代码不正确。 我有一个矩阵:
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]
等等**
【问题讨论】:
-
使用:
T[j][i] = a[i][j]。更一般地,您需要学习如何调试小程序:ericlippert.com/2014/03/05/how-to-debug-small-programs -
aT = list(map(list, zip(*a))) -
请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。
-
HI),我需要对矩阵 a 进行转置。所以我认为我上面展示的迭代元素会起作用,但是它不起作用,我不明白为什么。