のように、リストではなくスライス表記を使用しますa[1:29,1:29]
。
必要に応じて、をslice
使用してオブジェクトを作成し、p = slice(1,29)
より多くの matlab の動作を得ることができます。
In [9]: a = -np.ones((10,10))
In [10]: a
Out[10]:
array([[-1., -1., -1., -1., -1., -1., -1., -1., -1., -1.],
[-1., -1., -1., -1., -1., -1., -1., -1., -1., -1.],
[-1., -1., -1., -1., -1., -1., -1., -1., -1., -1.],
[-1., -1., -1., -1., -1., -1., -1., -1., -1., -1.],
[-1., -1., -1., -1., -1., -1., -1., -1., -1., -1.],
[-1., -1., -1., -1., -1., -1., -1., -1., -1., -1.],
[-1., -1., -1., -1., -1., -1., -1., -1., -1., -1.],
[-1., -1., -1., -1., -1., -1., -1., -1., -1., -1.],
[-1., -1., -1., -1., -1., -1., -1., -1., -1., -1.],
[-1., -1., -1., -1., -1., -1., -1., -1., -1., -1.]])
In [11]: a[1:4,1:4] = 9
In [12]: a
Out[12]:
array([[-1., -1., -1., -1., -1., -1., -1., -1., -1., -1.],
[-1., 9., 9., 9., -1., -1., -1., -1., -1., -1.],
[-1., 9., 9., 9., -1., -1., -1., -1., -1., -1.],
[-1., 9., 9., 9., -1., -1., -1., -1., -1., -1.],
[-1., -1., -1., -1., -1., -1., -1., -1., -1., -1.],
[-1., -1., -1., -1., -1., -1., -1., -1., -1., -1.],
[-1., -1., -1., -1., -1., -1., -1., -1., -1., -1.],
[-1., -1., -1., -1., -1., -1., -1., -1., -1., -1.],
[-1., -1., -1., -1., -1., -1., -1., -1., -1., -1.],
[-1., -1., -1., -1., -1., -1., -1., -1., -1., -1.]])
In [13]: p = slice(1,4)
In [14]: a[p,p]
Out[14]:
array([[ 9., 9., 9.],
[ 9., 9., 9.],
[ 9., 9., 9.]])