切片格式
[start : end : step]
start:切片开始,默认为0;
end:切片截止,不包含end位置,默认为列表长度;
step:切片的步长,默认为1;
注:当step为负数时,表示反向切片,这时的start在end右侧。
作用:使用切片可以返回字符或列表中部分元素组成新列表,与使用索引作为下标访问字符或列表元素的方法不同,切片操作不会因为下标越界而抛出异常,而是简单的在 尾部阶段或者返回一个空列表,使代码具有更强的健壮性。
例子①:
正向切片
从左索引值对应的字符开始取到右索引值对应的字符的字符,不包含右索引值 [a:b] a
>>> x = 'Hello Python!'
>>> x[1:4]
'ell'
例子②:
反向切片
从左索引值对应的字符开始取到右索引值对应的字符,不包含右索引值(负索引是从1开始的,不是0) [a:b] a
>>> x = 'Hello Python!'
>>> x[-4:-1]
'hon'
例子③:
正负索引混合切片
>>> x = 'Hello Python!'
>>> x[1:-2]
'ello Pytho'
>>> x[-2:10]
''
>>> x[-3:11]
'o'
例子④:
正无穷与负无穷
的切片
>>> x = 'Hello Python!'
>>> x[:-1]
'Hello Python'
>>> x[1:]
'ello Python!'
>>> x[:]
'Hello Python!'
例子⑤:
其它使用
>>> x = 'Hello Python!'
>>> x[::]#返回包含原字符中所有元素的新字符
'Hello Python!'
>>> x[::-1]#返回包含原字符中所有元素的逆序字符
'!nohtyP olleH'
>>> x[::2]#隔一个取一个,获取索引偶数位置的元素
'HloPto!'
>>> x[1::2]#隔一个取一个,获取索引奇数位置的元素
'el yhn'
>>> x[0:100]#切片结束位置大于字符长度是,从字符尾部截断
'Hello Python!'
>>> x[3:-10:-1]#位置3在位置-10的右侧,-1表示反向切片
''