<分区>
写一个函数 identity(n) 返回第 n 个身份
矩阵。
例如:identity(3) 输出 [[1,0,0][0,1,0][0,0,1]]
我试过如下:
def identity(n):
matrix=[[0]*n]*n
i=0
while i<n:
matrix[i][i]=1
i+=1
return matrix
我也尝试过 range 但它没有像这样工作
def identity(n):
matrix=[[0]*n]*n
k=matrix[:]
i=0
for i in range(1,n):
matrix[i][i]=1
i+=1
return k
print(identity(5))
但它输出 n = 5
:
[[1, 1, 1, 1, 1], [1, 1, 1, 1, 1], [1, 1, 1, 1, 1], [1, 1, 1, 1, 1], [1, 1, 1, 1, 1]]