尝试沿逆时针方向旋转大小为3的矩阵。
def anti(matrix,n):
while n > 0: # n is the no of rotations
l = len(matrix)
new_matrix = [[row[:] for row in matrix]]
for i in range(l-1,-1,-1):
for j in range(l):
new_matrix[l-i-1][j] = matrix[j][i]
matrix = [row[:] for row in new_matrix]
n -= 1
return matrix
我得到的错误是:
列表索引超出第7行的范围
答案 0 :(得分:0)
[]
中还有多余的new_matrix
。导致new_matrix
和matrix
之间出现尺寸不匹配。def anti(matrix,n):
while n > 0: # n is the no of rotations
l = len(matrix)
new_matrix = [row[:] for row in matrix]
for i in range(l-1,-1,-1):
for j in range(l):
new_matrix[l-i-1][j] = matrix[j][i]
matrix = [row[:] for row in new_matrix]
n -= 1
return matrix
a = [[1,2,3],[4,5,6],[7,8,9]]
print(anti(a, 3))