首頁技術(shù)文章正文

什么是切片?切片的語法格式是怎樣的?

更新時間:2021-08-10 來源:黑馬程序員 瀏覽量:

IT培訓(xùn)班


切片是指對序列截取其中一部分的操作。切片的語法格式如下:

[起始索引:結(jié)束索引:步長]
切片截取的范圍屬于左閉右開,即從起始索引開始,到結(jié)束索引前一位結(jié)束(不包含結(jié)束位本身)。我們把索引比作一把“刀”,在開始索引和結(jié)束索引的位置“切下”,“切下”的元素就是這個范圍內(nèi)的元素。步長的取值可以是正數(shù)和負(fù)數(shù),默認(rèn)值為1。

根據(jù)步長的取值,可以分為如下兩種情況:

(1)步長大于0

按照從左到右的順序,每隔“步長-1”(索引間的差值仍為步長值)個字符進(jìn)行一次截取。這時,“起始”指向的位置應(yīng)該在“結(jié)束”指向的位置的左邊,否則返回值為空。

示例如下:

>>> string = 'python'
>>> string[0:6]   # 沒指定步長,默認(rèn)為1
'python'
>>> string[2:5:2] # 指定步長為2
'to'

在上述示例中,如果沒有指定步長默認(rèn)為1。以string[2:5:2]為例,通過示意圖來分析切片的原理,如圖1所示。

切片

圖1 切片示意圖(步長大于0)

(2)步長小于0

按照從右到左的順序,每隔“步長-1”(索引間的差值仍為步長值)個字符進(jìn)行一次截取。這時,“起始”指向的位置應(yīng)該在“結(jié)束”指向的位置的右邊,否則返回值為空。

示例如下:

>>> string = 'python'
>>> string[3:0:-1]

'hty'
>>> string[0:3:-2]
''

注意,起始位置的索引必須大于結(jié)束位置的索引,否則返回空字符串。以string[3:0:-1]為例,通過示意圖來分析切片的原理,如圖2所示。

切片

圖2 切片示意圖(步長小于0)








猜你喜歡:

DRF框架:序列化器字段類型和選項(xiàng)參數(shù)

Python怎樣向文件中寫入數(shù)據(jù)和字符串序列?

DRF框架:序列化器字段類型和選項(xiàng)參數(shù)

python有哪些基礎(chǔ)操作?怎樣添加、刪除、修改列表元素?

黑馬程序員Python大數(shù)據(jù)開發(fā)培訓(xùn)課程

分享到:
在線咨詢 我要報名
和我們在線交談!