一、切片的2种索引方向
如果掌握切片方法,就能对所有目标值进行随意切取,然鹅可切片的目标对象有2种索引方向:正索引、负索引。如下图所示,
以 a = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]举例:
这个字符串 a 的正索引是由左往右,头下标是0,尾下标是9;
它的负索引是由右往左,头下标是-1,尾下标是-10.
二、切片介绍:
python中切片是用来切割可迭代对象(容器)
一个完整的切片是包含三个参数和两个冒号
start:切片的起始位置,如果没有值的话从头开始
end:切片的结束位置,但是不包含end(前闭后开),如果没有值的话表示切割到结束为止
step :步长,默认取值为1,如果为正数的情况表示从左往右,如果为负数表示从右往左
切记:步长正负决定切片方向,非常重要!!
当未写start_index、end_index的值时,都默认,从索引的端点处开始
三、切片例子:
a = [0,1,2,3,4,5,6,7,8,9]
1. 切割单个值
>>> a = [0,1,2,3,4,5,6,7,8,9]
>>> a[0]
0
>>> a[4]
4
2. 切割完整对象
>>> a[ : ]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a[ : : ]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> a[ : :-1]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
3. start和end全部取正数的情况
>>> a[1:6]
[1, 2, 3, 4, 5]
>>> a[1:6:-1]
[]
>>> a[6:1:-1]
[6, 5, 4, 3, 2]
>>> a[:6]
[0, 1, 2, 3, 4, 5]
4.start和end全部取负数的情况
>>> a[ :-6]
[0, 1, 2, 3]
>>> a[-1:-6]
[]
>>> a[-1:-6:-1]
[9, 8, 7, 6, 5]
5.start和end正负混合情况
>>> a[1:-6]
[1, 2, 3]
>>> a[1:-6:-1]
[]
>>> a[-1:6]
[]
6. 连续的切片操作
>>> a[ :8][2:5][-1:]
[4]
解释:
a[:8] ---- [0,1,2,3,4,5,6,7] [0,1,2,3,4,5,6,7]
[2:5]----[2,3,4] [2,3,4]
[-1:] ----[4]
7. 切片中的三个参数为表达式
>>> a[1+2:2*3:7%2]
[3, 4, 5]
8. 切片可以操作其他的对象
>>> t = (1,2,3,4,5)
>>> t[1:3]
(2, 3)
>>> s = "ACDRF"
>>> s[1:3]
'CD'
注意点总结: 1. 如果进行切片操作的时候,超出下标不会报错
2. 如果切片操作的时候方向相互矛盾的话,不会报错,返回的空
3. 在python中进行反向输出列表
第一种:循环 第二种:[::-1] 第三种:reverse()
————————————————
版权声明:本文部分为CSDN博主「rap小浣熊」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_44162375/article/details/123589228