Der Teilbereichsoperator erzeugt eine Sicht (View) auf dem Originalarray. Dabei wird das Array nicht kopiert.
Man kann np.may_share_memory() benutzen, um zu prüfen, ob zwei Arrays den gleichen Speicherbereich benutzen. Wird eine View verändert, ändert sich auch das Originalarray entsprechend:
>>> import numpy as np
>>> a = np.array([3, 8, 12, 18, 7, 11, 30])
>>> b = a[::2]
>>> c = a[1::2]
>>> np.may_share_memory(b, c)
True
>>> b[0] = 1001
>>> b
array([1001, 12, 7, 30])
>>> c
array([ 8, 18, 11])
>>> a
Array([1001, 8, 12, 18, 7, 11, 30])
Die Speichergrenzen von b und c werden von may_share_memory überprüft. Wenn sie überlappen, wird True zurück geliefert.