python 切片技巧

说明:

字符串[开始索引:结束索引:步长]

开始索引:从指定位置开始截取;

结束索引:从指定位置结束截取,但不包含该位置的字符。

步长:不指定时步长为1;

1)当步长为正数时候,那么切片是从左到右进行取值(只是代表取值方向)。

2)当步长为负数时候,那么切片是从右到左进行取值(只是代表取值方向)。

3)不管开始索引或者结束索引是正数还是负数,读取方向始终都是从左到右进行取值(无负数步长时候)

5)当头索引为负数时,则是指从字符串的尾部开始计数,最末尾的字符记为-1,以此类推,因此此时应该注意尾索引的值,尾索引同样可以为负数,如果尾索引的值指明的字符串位置小于或等于头索引,此时返回的就是空字符串。

6)当头索引为正数时,则是指从字符串的头部开始计数,最前面的字符记为0,以此类推,因此此时应该注意尾索引的值,尾索引同样可以为正数,如果尾索引的值指明的字符串位置小于或等于头索引,此时返回的就是空字符串。

7)切片取左不取右

1.字符串切片技巧

my_hobby = "Never stop learning!"
print(my_hobby[-1:-21:-1])    
解释:
1.当你的my_hobby[-1:-21] 不加步长默认是1,那么-1就是取!;而-21就是取N,因为默认步长是1从左往右读取的,所以取到的就是空字符,因为我们肯定是-21先读取然后再读取-1,现在是反了,所以是空的,也就验证了5)中的最后一句红色字体。-21小于-1
2.当你的my_hobby[-1:-21:-1]加了步长-1,那么-1就是取!;而-21就是取N,因为步长-1是从右往左读取的,所以取到的就是-1到-21也就是从!到N,也就是!gninrael pots raveN
print(my_hobby[4:0:-1])
解释:
1.当你的my_hobby[4:0] 不加步长默认是1,那么4就是取r;而0就是取e,因为默认步长是1从左往右读取的,所以取到的就是空字符,因为我们肯定是0先读取然后再读取4,现在是反了,所以是空的,也就验证了6)中的最后一句红色字体。0小于4
2.当你的my_hobby[4:0:-1]加了步长-1,那么4就是取r;而0就是取e,因为步长-1是从右往左读取的,所以取到的就是4到0也就是从r到e,也就是reve



原文地址:https://www.cnblogs.com/hao2018/p/11061765.html