Reputation: 1
Could someone please tell me why I get this error?
result[i][j+1]=X[i][j]
IndexError: list assignment index out of range
Here is my code:
def matrixTranspose(X):
result=[[0 for k in range (len(X))] for l in range (len(X[0]))]
for i in range(len(X)):
for j in range (len(X[0])):
result[i][j+1]=X[i][j]
return result
m1=[]
r=input("enter The no. of rows:")
c=input("enter The no. of columns:")
s=[[0 for i in range (c)]for j in range (r)]
for i in range (r):
row=[]
for j in range (c):
x=input("Enter Value")
row.append(x)
m1.append(row)
print m1
m2=matrixTranspose(m1)
print m2
Upvotes: 0
Views: 79
Reputation: 25478
You can't index result
at len(X[0])+1
, because its dimensions are len(X)
by len(X[0])
. Also your matrixTranpose
function doesn't seem to be taking the transpose of X
. Presumably you mean:
def matrixTranspose(X):
result=[[0 for k in range (len(X))] for l in range (len(X[0]))]
for i in range(len(X)):
for j in range (len(X[0])):
result[j][i]=X[i][j]
return result
Upvotes: 1