切片操作
sequence[start:end:step] ( [起點索引:終點索引:步長] )
對一個具有索引的有序元素集合進行切片,獲得從起點到終點範圍內相隔每步長的元素。
需要注意的是:
你的問題
num="0123456789"
num[:6:-1]
根據上述第三條注意, num[:6:-1] 和 num[-1:6:-1]等價
這條命令是讓計算機從num中找到從索引-1(包含-1)以相反方向每次一步移動直到到索引6(不包含6)範圍內的所有元素。
那麼從索引-1字元"9"開始,然後向相反方向移動一步,則為索引-1-1=-2,即倒數第二個字元"8",迴圈直至索引6(等價於索引-4),發現元素"987"。
num[1:6:-1]
這個則更好理解了,從num中找到從索引1(包含1)以相反方向每次移動一步直到索引6(不包含6)範圍內的所有元素。
問題是索引1是比索引6要小的索引,所以無論反向移動多少步(索引1不斷減去1,也就是1-1-1-1-....都不會找到索引6),所以這條命令的答案也就是空集""
切片操作
sequence[start:end:step] ( [起點索引:終點索引:步長] )
對一個具有索引的有序元素集合進行切片,獲得從起點到終點範圍內相隔每步長的元素。
需要注意的是:
起點是包含在範圍內的,終點則不包含步長可以為負數,當為負數時則表示相反反向,即索引不斷減小在步數沒被申明時預設為1;在步長為正時起點沒被申明則預設為第一個元素的位置索引0,在步長為負時起點沒被申明則預設最後一個元素的位置索引-1你的問題
num="0123456789"
num[:6:-1]
根據上述第三條注意, num[:6:-1] 和 num[-1:6:-1]等價
這條命令是讓計算機從num中找到從索引-1(包含-1)以相反方向每次一步移動直到到索引6(不包含6)範圍內的所有元素。
那麼從索引-1字元"9"開始,然後向相反方向移動一步,則為索引-1-1=-2,即倒數第二個字元"8",迴圈直至索引6(等價於索引-4),發現元素"987"。
num="0123456789"
num[1:6:-1]
這個則更好理解了,從num中找到從索引1(包含1)以相反方向每次移動一步直到索引6(不包含6)範圍內的所有元素。
問題是索引1是比索引6要小的索引,所以無論反向移動多少步(索引1不斷減去1,也就是1-1-1-1-....都不會找到索引6),所以這條命令的答案也就是空集""