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()函数,但是当我运行它时,编译器会抛出一个错误,指出列表索引超出范围,我不知道为什么。
答案 0 :(得分:0)
将范围从(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)