python中[:-1]与[::-1]的区别
理解方式:
[i:j:s]
也就是,两个冒号分割了三个数i,j,s
i是起始位置
j是终止位置(最终序列里边不包含终止位置)
s就是step,步长
重点:
当写两个冒号的时候, [::-1],相当于省略了i,j,也就是取所有的i和j,但是步长为-1,也就是倒序
同理,[::-2]就是步长为-2,也就是倒序且步长为2
而只写一个冒号[:-1],相当于只有i和j,且j=-1,也就是从头开始一直到最后一个(不包含最后一个)
1、案例解释
a='python'
b=a[::-1]
print(b) #nohtyp
c=a[::-2]
print(c) #nhy
#从后往前数的话,最后一个位置为-1
d=a[:-1] #从位置0到位置-1之前的数
print(d) #pytho
e=a[:-2] #从位置0到位置-2之前的数
print(e) #pyth
2、用法说明
b = a[i:j] 表示复制a[i]到a[j-1],以生成新的list对象
a = [0,1,2,3,4,5,6,7,8,9]
b = a[1:3] # [1,2]
当i缺省时,默认为0,即 a[:3]相当于 a[0:3]
当j缺省时,默认为len(alist), 即a[1:]相当于a[1:10]
当i,j都缺省时,a[:]就相当于完整复制一份a
b = a[i:j:s]表示:i,j与上面的一样,但s表示步进,缺省为1.
所以a[i:j:1]相当于a[i:j]
当s<0时,i缺省时,默认为-1. j缺省时,默认为-len(a)-1
所以a[::-1]相当于 a[-1:-len(a)-1:-1],也就是从最后一个元素到第一个元素复制一遍,即倒序。
参考:http://www.cnblogs.com/mxh1099/p/5804064.html
---------------------
作者:明宇李
来源:CSDN
原文:https://blog.csdn.net/mingyuli/article/details/81604795
版权声明:本文为博主原创文章,转载请附上博文链接!
————————————————
版权声明:本文为CSDN博主「Jesse-Xue」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_38809962/article/details/89531520
[::-1] 顺序相反操作
[-1] 读取倒数第一个元素
[3::-1] 从下标为3(从0开始)的元素开始翻转读取
同样适用于字符串
eg:
a=[1,2,3,4,5]
b=a[::-1]
------------------------------
[5, 4, 3, 2, 1]
b=a[-1]
------------------------------
5
b=a[3::-1]
------------------------------
[4, 3, 2, 1]
————————————————
版权声明:本文为CSDN博主「HARDBIRD123」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/HARDBIRD123/article/details/82261651
如果这篇文章帮助到了你,你可以请作者喝一杯咖啡