切片
python 中针对 字符串、列表、元组 数据类型提供了切片方法,可以非常方便的进行对象切割和截取。
1、适用范围
- 切片 方法适用于 字符串、列表、元组 ,不适用于 字典
- 切片 使用 索引值 来限定范围,从一个大的 字符串 中 切出 小的 字符串
- 列表 和 元组 都是 有序 的集合,都能够 通过索引值 获取到对应的数据
- 字典 是一个 无序 的集合,使用 键值对 保存数据,没有索引
2、语法格式
字符串[开始索引:结束索引:步长]
切片注意事项:
- 指定的区间 左闭右开,即 [开始索引, 结束索引)
- 从头开始,「开始索引」可省略,
不能省:
- 直到末尾结束,「结束索引」可省略,
不能省:
- 步长默认为
,如果连续切片,数字和冒号都可以省略1
- 步长为正数表示从左向右,步长为负数表示从右向左
- 同时支持 顺序索引 和 倒序索引
- 倒序索引即 从右向左 计算索引
- 最右边的索引值是 -1,依次递减
3、使用示例
>>> str1 = "0123456789"
"1. 截取从 2 ~ 5 位置 的字符串"
>>> str1[2:6]
'2345'
"2. 截取从 2 ~ `末尾` 的字符串"
>>> str1[2:]
'23456789'
"3. 截取从 `开始` ~ 5 位置 的字符串"
>>> str1[:6]
'012345'
"4. 截取完整的字符串"
>>> str1[:]
'0123456789'
"5. 从开始位置,每隔一个字符截取字符串"
>>> str1[::2]
'02468'
"6. 从索引 1 开始,每隔一个取一个"
>>> str1[1::2]
'13579'
"7. 截取从 2 ~ 倒数第二个字符"
>>> str1[2:-1]
'2345678'
"8. 截取字符串末尾两个字符"
>>> str1[-2:]
'89'
"9. 字符串的逆序"
>>> str1[::-1]
'9876543210'