2017-02-21 3 views
1

配列のスライスをテストしていますが、問題があります。[:、:]でPython配列をスライスする範囲

(1,1)~(3,3)の値を印刷したいのですが、pythonは(1,1)~(2,2)を印刷します。なぜですか?

import numpy as np 
a = np.reshape(np.arange(25), (5,5)) 
print(a[1:3, 1:3]) 
+1

これはPythonの規約で、左端が含まれていますが、右端は除外されています。利点:右と左の違いは長さを与える。 –

答えて

0

あなたの例の3は排他的なものなので、代わりに4を使用してください:

print(a[1:4, 1:4]) 

Pythonのstart:stop:ステップスライス表記を使用する場合、startはインクルーシブですが、stopは含みません。

関連する問題