【问题标题】:Matrix Transpose ( List index out of range error )矩阵转置(列表索引超出范围错误)
【发布时间】:2020-09-15 09:35:38
【问题描述】:
def transpose(A,size):
for i in range(size):
for j in range(i,size):
temp=A[i][j]
A[i][j]=A[j][i]
A[j][i]=temp
这是我的矩阵 transpose() 函数,但是当我运行它时,编译器会抛出一个错误,提示列表索引超出范围,我不知道为什么。
【问题讨论】:
标签:
python
transpose
indexoutofrangeexception
【解决方案1】:
将范围从 (i,size) 更改为 (size) 将解决超出范围的错误
def transpose(A,size):
for i in range(size):
for j in range(size):
temp=A[i][j]
A[i][j]=A[j][i]
A[j][i]=temp
但是矩阵A不会因为引用而被修改
转置最好使用新的矩阵
def transpose(A,size):
B=list([0 for i in range(size)] for j in range(size))
for i in range(size):
for j in range(size):
B[i][j]=A[j][i]
print(B)