?Python列表的切片取值詳解
1. 列表的切片
索引取值可以從列表中取出1個(gè)元素。
如果要從列表中取出多個(gè)元素,可以用列表的切片方法。
列表的切片語(yǔ)法和字符串的切片語(yǔ)法相同。
2. 切片的語(yǔ)法
【語(yǔ)法】
列表[star:end:step]
列表[開(kāi)始字符:結(jié)束字符:步長(zhǎng)]
列表切片取值由4部分構(gòu)成:
列表名。
英文中括號(hào)。
3個(gè)參數(shù)。
3個(gè)參數(shù)之間用英文冒號(hào)分隔。
參數(shù)start:表示要取的第1元素的索引(包括該元素),如果不指定,則默認(rèn)為0
。
參數(shù)end:表示要取的最后1個(gè)元素的索引(不包括該元素),如果不指定,則默認(rèn)為列表的長(zhǎng)度。
參數(shù)step:表示切片的步長(zhǎng)。如果省略,則默認(rèn)為1,當(dāng)省略該步長(zhǎng)時(shí),最后一個(gè)冒號(hào)也可以省略。
步長(zhǎng)我的理解就是向前或向后走幾步,可以是正整數(shù),也可以是負(fù)整數(shù)。
步長(zhǎng)為1,表示向前走1步,那就是依次取值。
步長(zhǎng)為2,表示一次性向前走2步,那就是要跳過(guò)1個(gè)字符。
步長(zhǎng)為-2,表示一次性向后退2步,即從右往左跳過(guò)1個(gè)字符。
【重點(diǎn)提示】切片取值時(shí)包括開(kāi)始字符,不包括結(jié)束字符,簡(jiǎn)單記憶為含前不含后
。
3. 切片取值示例
3.1 步長(zhǎng)為1的切片取值
# 新建一個(gè)str列表 str_list = ["當(dāng)歸", "人參", "黃芪", "紅棗", "枸杞"] print(str_list[0:1:1]) print("列表切片取值得到的數(shù)據(jù)類(lèi)型仍然是列表:", type(str_list[0:1:1]), '\n') print(str_list[1:4:1]) print("列表切片取值得到的數(shù)據(jù)類(lèi)型仍然是列表:", type(str_list[1:4:1]), '\n') print(str_list[2:5:1]) print("列表切片取值得到的數(shù)據(jù)類(lèi)型仍然是列表:", type(str_list[2:5:1]), '\n')
【終端輸出】
['當(dāng)歸']
列表切片取值得到的數(shù)據(jù)類(lèi)型仍然是列表: <class 'list'>['人參', '黃芪', '紅棗']
列表切片取值得到的數(shù)據(jù)類(lèi)型仍然是列表: <class 'list'>['黃芪', '紅棗', '枸杞']
列表切片取值得到的數(shù)據(jù)類(lèi)型仍然是列表: <class 'list'>
【2:5:1代碼解析】
start=2即開(kāi)始元素的索引為2,索引2對(duì)應(yīng)列表的第3個(gè)元素,即元素黃芪
。
end=5即結(jié)束元素的索引為5,索引5對(duì)應(yīng)列表的第6個(gè)元素;上述列表只有5個(gè)元素,沒(méi)有第6個(gè)元素,因此取值范圍為整個(gè)列表。
step=1即步長(zhǎng)為1,即元素間隔為1,間隔為1表示可以連續(xù)取值。
注意切片的語(yǔ)法:含前不含后
,即含開(kāi)始元素,不含結(jié)束元素。
【步長(zhǎng)為1時(shí)冒號(hào)和步長(zhǎng)可以省略不寫(xiě)】
# 新建一個(gè)str列表 str_list = ["當(dāng)歸", "人參", "黃芪", "紅棗", "枸杞"] print(str_list[0:1]) print(str_list[1:4]) print(str_list[2:5])
【終端輸出】
['當(dāng)歸']
['人參', '黃芪', '紅棗']
['黃芪', '紅棗', '枸杞']
3.2 步長(zhǎng)為3的切片取值
# 新建一個(gè)str列表 str_list = ["當(dāng)歸", "人參", "黃芪", "紅棗", "枸杞"] print(str_list[0:4:3]) print("列表切片取值得到的數(shù)據(jù)類(lèi)型仍然是列表:", type(str_list[0:1]), '\n')
【終端輸出】
['當(dāng)歸', '紅棗']
列表切片取值得到的數(shù)據(jù)類(lèi)型仍然是列表: <class 'list'>
【0:4:3代碼解析】
start=0即開(kāi)始元素的索引為0,索引0對(duì)應(yīng)列表的第1個(gè)元素,即元素當(dāng)歸
。
end=4即結(jié)束元素的索引為4,索引4對(duì)應(yīng)列表的第5個(gè)元素,即元素枸杞
注意切片的語(yǔ)法:含前不含后
,即含開(kāi)始元素,不含結(jié)束元素枸杞
。
step=3即步長(zhǎng)為3,步長(zhǎng)為3可以理解成一次性向前走3步,那就是要跳過(guò)2個(gè)字符。
注意切片的語(yǔ)法:含前不含后
,即含開(kāi)始元素,不含結(jié)束元素。
3.3 負(fù)索引取值
# 新建一個(gè)str列表 str_list = ["當(dāng)歸", "人參", "黃芪", "紅棗", "枸杞"] print(str_list[-5:-1:3])
【終端輸出】
['當(dāng)歸', '紅棗']
# 新建一個(gè)str列表 str_list = ["當(dāng)歸", "人參", "黃芪", "紅棗", "枸杞"] print(str_list[-5:-2:3])
【終端輸出】
['當(dāng)歸']
# 新建一個(gè)str列表 str_list = ["當(dāng)歸", "人參", "黃芪", "紅棗", "枸杞"] print(str_list[-5:-2:2])
【終端輸出】
['當(dāng)歸', '黃芪']
# 新建一個(gè)str列表 str_list = ["當(dāng)歸", "人參", "黃芪", "紅棗", "枸杞"] print(str_list[-2:-5:-2])
【終端輸出】
['紅棗', '人參']
-2到-5是從右往左,從右往左步長(zhǎng)應(yīng)該為負(fù)整數(shù),下面的代碼為正整數(shù),因此沒(méi)有取到任何元素。
# 新建一個(gè)str列表 str_list = ["當(dāng)歸", "人參", "黃芪", "紅棗", "枸杞"] print(str_list[-2:-5:2])
【終端輸出】
[]
到此這篇關(guān)于 Python列表的切片取值詳解的文章就介紹到這了,更多相關(guān) Python切片取值內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python 采用paramiko 遠(yuǎn)程執(zhí)行命令及報(bào)錯(cuò)解決
這篇文章主要介紹了python 采用paramiko 遠(yuǎn)程執(zhí)行命令及報(bào)錯(cuò)解決,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-10-10python縮進(jìn)長(zhǎng)度是否統(tǒng)一
在本篇內(nèi)容里小編給大家整理的是一篇關(guān)于python縮進(jìn)長(zhǎng)度是否統(tǒng)一的相關(guān)知識(shí)點(diǎn),需要的朋友們可以學(xué)習(xí)下。2020-08-08快速解決cv2.imread()讀取圖像為BGR的問(wèn)題
這篇文章主要介紹了快速解決cv2.imread()讀取圖像為BGR的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-03-03Win8.1下安裝Python3.6提示0x80240017錯(cuò)誤的解決方法
這篇文章主要為大家詳細(xì)介紹了Win8.1下安裝Python3.6提示0x80240017錯(cuò)誤的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07python將圖片文件轉(zhuǎn)換成base64編碼的方法
這篇文章主要介紹了python將圖片文件轉(zhuǎn)換成base64編碼的方法,涉及Python操作base64編碼的技巧,需要的朋友可以參考下2015-03-03Python面向?qū)ο蟪绦蛟O(shè)計(jì)OOP深入分析【構(gòu)造函數(shù),組合類(lèi),工具類(lèi)等】
這篇文章主要介紹了Python面向?qū)ο蟪绦蛟O(shè)計(jì)OOP,較為詳細(xì)的深入分析了Python面向?qū)ο蟮臉?gòu)造函數(shù),組合類(lèi),工具類(lèi)等相關(guān)概念、使用方法及操作注意事項(xiàng),需要的朋友可以參考下2019-01-01