Это тоже работает:
у получить доступ к определенному ограничению строк и столбцов двумерного массива.
> x
array([[1, 2, 0],
[3, 4, 0],
[0, 0, 1]])
Если я делаю то, что кажется естественным, я просто получаю диагональные элементы ограниченного массива.
> x[[0,1], [0,1]]
array([1, 4])
Вместо этого я могу сделать это, чтобы прочитать то, что я хочу -
> x[[0,1],:][:,[0,1]]
array([[1, 2],
[3, 4]])
..но это не позволяет мне писать / присваивать значения.
> x[[0,1],:][:,[0,1]] = np.array([[1,0],[0,1]])
> x
array([[1, 2, 0],
[3, 4, 0],
[0, 0, 1]])
Как я могу написать в матрицу здесь?