python3num='0123456789,num「:6:-1」=gt; '987'?「1:6:-1」为空
原問(wèn)題:
python3 num='0123456789',num[:6:-1]==>'987'為什么? 又為何num[1:6:-1]==>為空?切片操作
sequence[start?step] ( [起點(diǎn)索引:終點(diǎn)索引:步長(zhǎng)] )
對(duì)一個(gè)具有索引的有序元素集合進(jìn)行切片,獲得從起點(diǎn)到終點(diǎn)范圍內(nèi)相隔每步長(zhǎng)的元素。
需要注意的是:
- 起點(diǎn)是包含在范圍內(nèi)的,終點(diǎn)則不包含
- 步長(zhǎng)可以為負(fù)數(shù),當(dāng)為負(fù)數(shù)時(shí)則表示相反反向,即索引不斷減小
- 在步數(shù)沒(méi)被申明時(shí)默認(rèn)為1;在步長(zhǎng)為正時(shí)起點(diǎn)沒(méi)被申明則默認(rèn)為第一個(gè)元素的位置索引0,在步長(zhǎng)為負(fù)時(shí)起點(diǎn)沒(méi)被申明則默認(rèn)最后一個(gè)元素的位置索引-1
回答上題:
num=‘0123456789’
num[:6:-1]
根據(jù)上述第三條注意, num[:6:-1] 和 num[-1:6:-1]等價(jià)
這條命令是讓計(jì)算機(jī)從num中找到從索引-1(包含-1)以相反方向每次一步移動(dòng)直到到索引6(不包含6)范圍內(nèi)的所有元素。
那么從索引-1字符’9’開(kāi)始,然后向相反方向移動(dòng)一步,則為索引-1-1=-2,即倒數(shù)第二個(gè)字符’8’,循環(huán)直至索引6(等價(jià)于索引-4),發(fā)現(xiàn)元素’987’。
num=‘0123456789’
num[1:6:-1]
這個(gè)則更好理解了,從num中找到從索引1(包含1)以相反方向每次移動(dòng)一步直到索引6(不包含6)范圍內(nèi)的所有元素。
問(wèn)題是索引1是比索引6要小的索引,所以無(wú)論反向移動(dòng)多少步(索引1不斷減去1,也就是1-1-1-1-…都不會(huì)找到索引6),所以這條命令的答案也就是空集’’
總結(jié)
以上是生活随笔為你收集整理的python3num='0123456789,num「:6:-1」=gt; '987'?「1:6:-1」为空的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 1024-程序员节快乐!给大家发福利啦!
- 下一篇: 如何评价Python3.8新出的“:=”