我可以更改 numpy 矩阵的一组值,以列表形式传递我想更改的索引,例如 matrix[[some first indices], [some second indices]] = 1
我正在尝试这样做,但只有一个索引列表,然后将该列表的每个元素作为第一个索引,将整个列表作为另一个索引。这里的例子:
import numpy as np
#Matrix
matrix = np.zeros((5,5))
# Indices
elements = [1,2,3]
# Way that works
for i in elements:
matrix[i, elements] = 1
我想将其作为列表理解来执行,但我无法弄清楚如何进行,而且,我不确定这是否是一种好的做法。就像是matrix[[(i,elements) for i in elements]] = 1
也在考虑用 itertools 来做,例如matrix[(itertools.permutation(elements, 2))] = 1。但是这些方法中的任何一种都有效,我不确定为什么。
萧十郎
MYYA
相关分类