下面的代码给出了我想要的输出格式,除了对角线上缺少1之外。你知道吗
>>> xlist = [2,3]
>>>[{'key': np.zeros(shape=(4, x, x))} for x in xlist]
这是电流输出:
`
Out[610]: [{'key': array([[[ 0., 0.],
[ 0., 0.]],
[[ 0., 0.],
[ 0., 0.]],
[[ 0., 0.],
[ 0., 0.]],
[[ 0., 0.],
[ 0., 0.]]])},
{'key': array([[[ 0., 0., 0.],
[ 0., 0., 0.],
[ 0., 0., 0.]],
[[ 0., 0., 0.],
[ 0., 0., 0.],
[ 0., 0., 0.]],
[[ 0., 0., 0.],
[ 0., 0., 0.],
[ 0., 0., 0.]],
[[ 0., 0., 0.],
[ 0., 0., 0.],
[ 0., 0., 0.]]])}]
`
但我希望每个矩阵都包含这样的对角线:
[[ 1., 0., 0.],
[ 0., 1., 0.],
[ 0., 0., 1.]]
我试过几个关于这个主题的变体,但都没有用:
>>> [{'key': np.fill_diagonal(y, 1.0) for y in np.zeros(shape=(4, x,x))} for x in xlist]
Out[613]: [{'key': None}, {'key': None}]
我试着用尽可能少的for循环来做这个。提前谢谢!你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐