理解方式:
[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
