基本索引
numpy 中的 ndarray
与列表的重要区别在于,数组切片是原始数组的视图。这意味着数据不会被复制,视图上的任何修改都会直接反映到源数组上
arr = np.arange(10) arr Out[34]: array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) arr_slice = arr[5:8] arr_slice Out[36]: array([5, 6, 7]) arr_slice[1] = 12 arr_slice Out[38]: array([ 5, 12, 7]) arr Out[39]: array([ 0, 1, 2, 3, 4, 5, 12, 7, 8, 9])
如果要arr_slice得到的是ndarray切片的一份副本而不是视图,则要显式地进行复制操作,如 arr_slice = arr[5:8].copy()