2017-02-21 8 views
1

Ich teste ein Array Slicing gibt es ein Problem.Python-Array-Slicing-Bereich mit [:,:]

Ich möchte (1,1)~(3,3) Werte drucken, jedoch Python druckt (1,1)~(2,2) warum?

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

Das ist die Python Konvention das linke Ende ist enthalten das rechte Ende ist ausgeschlossen. Vorteil: Die Differenz von rechts und links ergibt die Länge. –

Antwort

0

Weil 3 in Ihrem Beispiel exklusiv ist. Verwenden Sie 4 statt:

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

Wenn Python start: stop: Schritt Scheibe Notation, beginnen, ist inklusive, aber halt nicht.