1. 索引
Python的字符串是有序集合,我们可以通过索引来提取想要获取的字符,可以把 Python的字符串也做为字符串的列表就更好理解,
字符串的索引编号有两种表示方式
- 顺序索引,从起始元素到末尾元素,第一个起始元素索引为0,末尾元素索引为-1,每个元素索引编号+1
- 逆序索引,从末尾元素到起始元素,末尾元素索引为 -1,每个元素索引编号-1,以此类推
the_str = "Python"
取第一个元素
print(the_str[0])
print(the_str[-6])
>>> "Y"
取最后一个元素
print(the_str[5])
print(the_str[-1])
>>> "n"
2. 切片
切片操作(slice)可以从一个字符串中获取子字符串(字符串的一部分)。使用一对方括号、起始偏移量start、终止偏移量end 以及可选的步长step 来定义一个分片。
格式: [start:stop:step]
切片操作 含左不含右
格式 | 说明 |
---|---|
[:] | 取全部字符串 |
[start:] | 从start提取到结尾 |
[:end] | 从开始到end |
[start:end] | 从 start 提取到 end |
[start:stop:step] | 从 start 提取到 end,每 step 个字符提取 1 个 |
the_str = "You need python"
# 提取区间字符串
print(the_str[4:8])
>>>need
# start为负数,则从尾部某一位置,开始向后截取
print(the_str[-6:])
>>>python
# 若索引错误,则结果为空
print(the_str[5:2])
>>>
# 打码指定区间
print(the_str[:3] + "*"*len(the_str[3:-4]) + the_str[-4:])
>>>You********thon
3. 步长
执行切片操作时,你显式或隐式地指定 start 和 end,但通常省略另一个参数,即步长。在普通切片中,步长默认值为1。
步长 | 描述 |
---|---|
1 | 从左向右提取元素 |
-1 | 从右向左提取元素 |
n | 每隔 n-1个元素提取一个元素 |