when someone abandons you,it is him that gets loss because he lost someone who truly loves him but you just lost one who doesn’t love you.
切片操作基本表达式:object[start_index:end_index:step]
一个完整的切片表达式包含两个 :,用于分隔三个参数 (start_index、end_index、step);当只有一个 : 时,默认第三个参数 step=1;当一个 : 也没有时,表示切取 start_index 指定的那个元素
step:正负数均可,其绝对值大小决定了切取数据时的步长,而正负号决定了切取方向,正表示从左往右取值,负表示从右往左取值;当 step 省略时,默认为 1,即从左往右以步长 1 取值
start_index:表示起始索引(包含该索引对应值);该参数省略时,表示从对象端点开始取值,至于是从起点还是从终点开始,由 step 的正负决定,step 为正从起点开始,为负从终点开始
end_index:表示终止索引(不包含该索引对应值);该参数省略时,表示一直取到数据端点,至于是到起点还是到终点,同样由 step 的正负决定,step 为正时直到终点,为负时直到起点
1 | a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] |
获取某个元素
1 | a[1] |
获取完整对象
1 | a[:] |
切片获取部分元素
1 | # step=1,从左往右取值 |
多层切片
1 | a[:8][2:5][-1:] |
切片操作的三个参数可以用表达式
1 | a[2+1:3*2:7%3] # a[2+1:3*2:7%3] = a[3:6:1] |
给切片赋值,等号后面必须是可迭代对象
1 | a[3:3] = ['1', '2'] # start_index >= end_index, step = 1,退化成插入元素,插入字符 |
切片拷贝
1 | # 单层元素拷贝 |
[:] 和 .copy() 都属于浅拷贝,只拷贝最外层元素,内层嵌套元素通过引用方式共享,非独立分配内存,如果需要彻底拷贝则需采用深拷贝
关于拷贝的问题,后面再展开
be yourself, everyone else is already taken.