Python序列中元素的訪問方式(一)Python字符串元素的訪問、切片與索引
Python序列中元素的訪問方式(二)Python列表元素的訪問、切片與索引
Python序列中元素的訪問方式(三)Python.numpy數組元素的訪問、切片與索引
Python序列中元素的訪問方式(四)Python數組和列表切片的區別
還是蠻有意思的一個東西。
數組的切片是原始數組的視圖,也就是說數據沒有被複制,視圖上的任何修改都會直接反應到源數組上。
import numpy as np
array1 = np.array([1,2,3,4,5,6,7])
array2 = array1[1:] #對數組1切片操作,數組2即是一個特定的視圖
#先查看一下原始數組和視圖數組
print(array1) #[1 2 3 4 5 6 7]
print(array2) #[2 3 4 5 6 7]
array2[0] = 10000 #對視圖進行操作
#再對兩個數組查看,對視圖的修改會反應到源數組上
print(array1) #[ 1 10000 3 4 5 6 7]
print(array2) #[10000 3 4 5 6 7]
但是列表就不同了,對切片的操作不會反映到原始列表上,具體看下例子:
list1 = [1,2,3,4,5,6,7]
list2 = list1[1:] #對列表1切片操作
#先查看一下原始列表和切片列表
print(list1) #[1 2 3 4 5 6 7]
print(list2) #[2 3 4 5 6 7]
list2[0] = 10000
#再對兩個列表查看
print(list1) #[1, 2, 3, 4, 5, 6, 7]
print(list2) #[10000, 3, 4, 5, 6, 7]