字符串是字符的有序集合,可以通过其位置来获得具体的元素。在 python 中,字符串中的字符是通过索引来提取的,索引从 0 开始。
python 可以取负值,表示从末尾提取,最后一个为 -1,倒数第二个为 -2,即程序认为可以从结束处反向计数。
下面是对 python 索引和切片的总结:
1. 索引获取特定偏移的元素
- 字符串中第一个元素的偏移为 0
- 字符串中最后一个元素的偏移为-1
- str[0] 获取第一个元素
- str[-2] 获取倒数第二个元素
2. 分片提取相应部分数据
- 通常上边界不包括在提取字符串内
- 如果没有指定值,则分片的边界默认为0和序列的长度
- str[1:3 ]获取从偏移为1的字符一直到偏移为3的字符串,不包括偏移为3的字符串 : "tr"
- str[1:] 获取从偏移为1的字符一直到字符串的最后一个字符(包括最后一个字符): "tring"
- str[:3] 获取从偏移为0的字符一直到偏移为3的字符串,不包括偏移为3的字符串 : "str"
- str[:-1] 获取从偏移为0的字符一直到最后一个字符(不包括最后一个字符串): "strin"
- str[:] 获取字符串从开始到结尾的所有元素 : "string"
- str[-3:-1] 获取偏移为 -3 到偏移为 -1 的字符,不包括偏移为 -1 的字符 : "in"
- str[-1:-3] 和 str[2:0] 获取的为空字符,系统不提示错误: ""
- 分片的时候还可以增加一个步长,str[::2] 输出的结果为: "srn"