arr = np.array([1, 2, 3, 4, 5]) # Slicing creates a view (shares memory) view = arr[1:4] view[0] = 999 print(arr) # [1 999 3 4 5] - original changed! # Copy creates new array copy = arr.copy() copy[0] = 777 print(arr) # [1 999 3 4 5] - original unchanged