Я могу изменить набор значений матрицы 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
.Но любой из этих подходов работает, и я не уверен, почему.