如何在Python中使用较短的对角线列表创建对角线矩阵?

如何在Python中使用较短的对角线列表创建对角线矩阵?,python,dimension,diagonal,Python,Dimension,Diagonal,假设我有一个对角线条目列表,d,有没有一种简单的方法来创建像a这样的对角线矩阵?我可以使用np.diag(d)指定结果的维度吗 很简单: A=np.zero((4,4)) A[:2,:2]=np.diag(d) 是的,这很有道理。非常感谢。 import numpy as np d = np.array([1,2]) A = np.array([[1,0,0,0], [0,2,0,0], [0,0,0,0], [0,0,0,0]])

假设我有一个对角线条目列表,
d
,有没有一种简单的方法来创建像
a
这样的对角线矩阵?我可以使用
np.diag(d)
指定结果的维度吗

很简单:

A=np.zero((4,4))
A[:2,:2]=np.diag(d)

是的,这很有道理。非常感谢。
import numpy as np

d = np.array([1,2])

A = np.array([[1,0,0,0], [0,2,0,0], [0,0,0,0], [0,0,0,0]])