切片基本操作

切片表达式包含两个“:”,用于分隔三个参数(start、end、step)

当只有一个“:”时,默认第三个参数step=1。

切片基本表达式:object[start : end: step]

step:可取正数或者负数,其绝对值大小决定了切取数据时的“步长”,而正负号决定了“切取方向”,正表示“从左往右”取值,负表示“从右往左”取值。当step省略时,默认为1,即从左往右以增量1取值。

start:表示start位置开始切割到结束位置,方向是从左往右;该参数省略时,表示从对象“端点”开始取值,至于是从“起点”还是从“终点”开始,则由step参数的正负决定,step为正从“起点”开始,为负从“终点”开始。

end:表示从start切割到end结束;该参数省略时,表示一直取到数据”端点“,至于是到”起点“还是到”终点“,同样由step参数的正负决定,step为正时直到”终点“,为负时直到”起点“。

1,用于切取单个值时,元素代号从左往右是0,1,2,3,4,5,6……

a=[1,2,3,4,5,6,7,8,9]
>>> a[0]
1
>>> a[-4]
6

2,切割时start和end都为正时

>>> a[1:6] 
[1, 2, 3, 4, 5] 
>>> a[1:6:-1] # start = 1 end = 6 表示从左往右 step=-1 表示的是从右往左 所以自相矛盾 返回的是空 
[]
>>> a[:6] # 从左端点到6,不包含6
[0, 1, 2, 3, 4, 5] 
>>> a[6:] # 从6到右端点
[6, 7, 8, 9] 
>>> a[6::-1] 
[6, 5, 4, 3, 2, 1, 0]

 3,当切割时start和end都为负时

>>> a[-1:-6] 
[]
>>> a[-1:-6:-1] 
[9, 8, 7, 6, 5] 
>>> a[:-6] 
[0, 1, 2, 3] 
>>> a[-6:-1] 
[4, 5, 6, 7, 8] 
>>> a[-6:] 
[4, 5, 6, 7, 8, 9] 
>>> a[-6::-1] 
[4, 3, 2, 1, 0]
#如果start和end组成的方向和step方向不一致,返回值为空

4, 当切割时start和end分别为正负时

>>> a = [0,1,2,3,4,5,6,7,8,9] 
>>> a[1:-6] 
[1, 2, 3] 
>>> a[-1:-6] 
[]
>>> a[1:-6:-1] 
[]
>>> a[-1:6] 
[]
>>> a[-1:6:-1] 
[9, 8, 7]

5.修改单个元素

>>>a[3] = ['A','B']
[0, 1, 2, ['A', 'B'], 4, 5, 6, 7, 8, 9]

6.在某个位置插入元素

>>>a[3:3] = ['A','B','C']
[0, 1, 2, 'A', 'B', 'C', 3, 4, 5, 6, 7, 8, 9]
>>>a[0:0] = ['A','B']
['A', 'B', 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

7.替换一部分元素

>>>a[3:6] = ['A','B']
[0, 1, 2, 'A', 'B', 6, 7, 8, 9]

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值