切片
1、切片操作适用于有序列的数据类型:字符串、列表、元组、定义了__getslice__、__setslice__、__delslice__方法的类
2、返回的数据类型和源数据类型一致
3、切片操作有三个参数:起始位置、终止位置、间隔。且支持负数索引。
4、序列类型的数据索引其实是相距起始元素的偏移量。起始元素索引为 0
例如:1 表示起始元素位置偏移 +1 个单位 (第二个元素)
-1 表示起始元素位置偏移 -1 个单位 (倒数第一位元素)
5、切片使用方法:
1、字符串/列表/元组[start_index:end_index:sequence] 注意使用 : 分隔参数使用冒号 :
2、每个参数都有默认值:start_index=0,end_index=len(序列),sequence=1
3、少参数或少冒号的情况:
1、若切片中有两个冒号,对应位置使用对应值,否则使用默认值
2、若切片中仅有一个冒号,则默认是前两个参数位置。即[起始位置:终止位置]
3、若切片中没有冒号,则是取对应下标值
***************************************************************************************
4、切片操作是以起始位置开始。按照第三个间隔确定“步伐”,以正负号确定切片操作的方向!
1、起始位置 和 终止位置 都 可以是任意位置且可以是正数索引或负数索引。
2、然后根据间隔参数,确定间隔大小,根据 正负号 确认切片操作的进行方向!
1、正号为从起始位置开始 往右 向终止位置进行切片
2、负号为从起始位置开始 往左 向终止位置进行切片
3、切片的字符串的顺序由切片方向决定:正号为正序 负号为反序
4、确定方向后若“切到”字符串末尾,仍未到达终止位置,则返回空字符串
3、不指定参数时
1、[a:b]模式
1、默认步长为 1 即从左往右切,间隔为 1 ,若切不到终止位置,返回空字符串
2、[a::b]模式
1、若 b 为负数,从位置 a 向右切到字符串开始位置,即终止位置为 0
2、若 b 为正数,从位置 a 向佐切到字符串末尾,即终止位置为 len(str)
3、[:a:b]模式
1、若 b 为负数,从字符串末尾 向右切到终止位置 a ,即终止位置为 a
2、若 b 为正数,从字符串前端 向右切到 a ,即终止位置为 a