猿问

numpy - 创建一个 4 x 4 矩阵并在父对角线上方添加值 4,5,6

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


            [[0 4 0 0]

             [0 0 5 0]

             [0 0 0 6]

            [0 0 0 0]]


人到中年有点甜
浏览 302回答 2
2回答

侃侃无极

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]])

米琪卡哇伊

我不知道这是否有效,但我发现了一种不同的、有点复杂的方法来实现相同的目标,只是想与你们分享。(我是 Python 初学者):mat1 = np.zeros((4,4))list1 = [4,5,6]for i in range(mat1.shape[1]):&nbsp; &nbsp; &nbsp; &nbsp; for j in range(mat1.shape[0]):&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if i<len(list1) and i==j:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; mat1[i][j+1] = list1[i]print(mat1)
随时随地看视频慕课网APP

相关分类

Python
我要回答