First page Back Continue Last page Overview Image

Views

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.