创建一个 4 x 4 矩阵并在父对角线上方添加值 4,5,6。我无法理解如何实现此输出。尝试对角线法但失败了。我想要如下所示的输出。 [[0 4 0 0] [0 0 5 0] [0 0 0 6] [0 0 0 0]]
2 回答

侃侃无极
TA贡献2051条经验 获得超10个赞
In [120]: np.diag([4,5,6],1)
Out[120]:
array([[0, 4, 0, 0],
[0, 0, 5, 0],
[0, 0, 0, 6],
[0, 0, 0, 0]])

米琪卡哇伊
TA贡献1998条经验 获得超6个赞
我不知道这是否有效,但我发现了一种不同的、有点复杂的方法来实现相同的目标,只是想与你们分享。(我是 Python 初学者):
mat1 = np.zeros((4,4))
list1 = [4,5,6]
for i in range(mat1.shape[1]):
for j in range(mat1.shape[0]):
if i<len(list1) and i==j:
mat1[i][j+1] = list1[i]
print(mat1)
添加回答
举报
0/150
提交
取消