基本索引

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()

posted on 2016-04-21 22:18  柯杨  阅读(147)  评论(0编辑  收藏  举报

导航