格式:[start:end:step]
[:]提取从开头(默认位置0)到结尾(默认位置(-1))的整个字符串
[start:]从start提取到结尾
[:end]从开头提取到 end-1
[start:end]从start提取到 end-1
step:步长,默认为1,如果步长为2,就是每隔两个下标取一个(就是中间的间隔)
现有一个字符串:
a = ‘123456789’
step:默认为1,可以省略
a = ‘123456789’
start:是可以省略的,默认从最开始的地方取
a = ‘123456789’
end:是可以省略的,默认到结尾的位置
a = ‘123456789’
start,end都省略:从开始取到结束
step:2
每隔两个取一个值
step:-1
从最尾取到最开始
[0:3],表示从角标为0的位置取到角标为3的位置,方向是向右
-1,表示往左每隔一个角标去一次,方向往左,
所以取不到值
怎么判断是否可以取到值:
-
end - start 判断是正数还是负数
-
step 是正数还是负数
1 和 2 一样都是正数或者负数就可以取到值,否则取不到值
print(a[4:1:-1]) 可以取到值吗?
1 - 4 = -3,-3与step都是负数,所以可以取到值
print(a[-1:-4:2]) 可以取到值吗
-4 - (-1) = -3,-3与step:2 不相同,所以取不到值