格式:[start:end:step]
[:]提取从开头(默认位置0)到结尾(默认位置(-1))的整个字符串
[start:]从start提取到结尾
[:end]从开头提取到 end-1
[start:end]从start提取到 end-1
step:步长,默认为1,如果步长为2,就是每隔两个下标取一个(就是中间的间隔)
现有一个字符串:
a = ‘123456789’
step:默认为1,可以省略
![print(a[0:3])](https://i-blog.csdnimg.cn/blog_migrate/74f9c7687468109429c1800035003eeb.png)
a = ‘123456789’
start:是可以省略的,默认从最开始的地方取
![print(a[:4])](https://i-blog.csdnimg.cn/blog_migrate/ac0412c9e97368859c98a3e3a5b05314.png)
a = ‘123456789’
end:是可以省略的,默认到结尾的位置
![print(a[5:])](https://i-blog.csdnimg.cn/blog_migrate/54dbfd44e2ab075d6a6a4fc633543b5f.png)
a = ‘123456789’
start,end都省略:从开始取到结束
![print(a[:])](https://i-blog.csdnimg.cn/blog_migrate/b4ce25de01be46a2b0f0f7b2062f9fb1.png)
step:2
每隔两个取一个值
![print(a[::2])](https://i-blog.csdnimg.cn/blog_migrate/ef2fa58367d22506d9bdd24225db6059.png)
step:-1
从最尾取到最开始
![print(a[::-1])](https://i-blog.csdnimg.cn/blog_migrate/b6068fb0f80b9ca59e694ed7b628e88f.png)
[0:3],表示从角标为0的位置取到角标为3的位置,方向是向右
-1,表示往左每隔一个角标去一次,方向往左,
所以取不到值
![print(a[0:3:-1])](https://i-blog.csdnimg.cn/blog_migrate/06d36c8516c5c8e099fd7f358012ade1.png)
怎么判断是否可以取到值:
-
end - start 判断是正数还是负数
-
step 是正数还是负数
1 和 2 一样都是正数或者负数就可以取到值,否则取不到值
print(a[4:1:-1]) 可以取到值吗?
1 - 4 = -3,-3与step都是负数,所以可以取到值
![print(a[4:1:-1])](https://i-blog.csdnimg.cn/blog_migrate/15e9406218aaac192f4ae55fd7f0b5ea.png)
print(a[-1:-4:2]) 可以取到值吗
-4 - (-1) = -3,-3与step:2 不相同,所以取不到值
![print(a[-1:-4:2])](https://i-blog.csdnimg.cn/blog_migrate/4bd8f247ba9c724aac36c4b382cb56ef.png)
本文详细解析了Python中字符串切片的使用方法,包括[start:end:step]格式的意义,如何通过不同参数组合实现字符串的截取、逆序及间隔取值等操作。并通过实例演示了如何判断切片操作的有效性。
1万+

被折叠的 条评论
为什么被折叠?



