?Python列表的切片取值詳解
1. 列表的切片
索引取值可以從列表中取出1個元素。
如果要從列表中取出多個元素,可以用列表的切片方法。
列表的切片語法和字符串的切片語法相同。
2. 切片的語法
【語法】
列表[star:end:step]
列表[開始字符:結(jié)束字符:步長]
列表切片取值由4部分構(gòu)成:
列表名。
英文中括號。
3個參數(shù)。
3個參數(shù)之間用英文冒號分隔。
參數(shù)start:表示要取的第1元素的索引(包括該元素),如果不指定,則默認為0。
參數(shù)end:表示要取的最后1個元素的索引(不包括該元素),如果不指定,則默認為列表的長度。
參數(shù)step:表示切片的步長。如果省略,則默認為1,當省略該步長時,最后一個冒號也可以省略。
步長我的理解就是向前或向后走幾步,可以是正整數(shù),也可以是負整數(shù)。
步長為1,表示向前走1步,那就是依次取值。
步長為2,表示一次性向前走2步,那就是要跳過1個字符。
步長為-2,表示一次性向后退2步,即從右往左跳過1個字符。
【重點提示】切片取值時包括開始字符,不包括結(jié)束字符,簡單記憶為含前不含后。
3. 切片取值示例
3.1 步長為1的切片取值
# 新建一個str列表
str_list = ["當歸", "人參", "黃芪", "紅棗", "枸杞"]
print(str_list[0:1:1])
print("列表切片取值得到的數(shù)據(jù)類型仍然是列表:", type(str_list[0:1:1]), '\n')
print(str_list[1:4:1])
print("列表切片取值得到的數(shù)據(jù)類型仍然是列表:", type(str_list[1:4:1]), '\n')
print(str_list[2:5:1])
print("列表切片取值得到的數(shù)據(jù)類型仍然是列表:", type(str_list[2:5:1]), '\n')【終端輸出】
['當歸']
列表切片取值得到的數(shù)據(jù)類型仍然是列表: <class 'list'>['人參', '黃芪', '紅棗']
列表切片取值得到的數(shù)據(jù)類型仍然是列表: <class 'list'>['黃芪', '紅棗', '枸杞']
列表切片取值得到的數(shù)據(jù)類型仍然是列表: <class 'list'>
【2:5:1代碼解析】
start=2即開始元素的索引為2,索引2對應列表的第3個元素,即元素黃芪。
end=5即結(jié)束元素的索引為5,索引5對應列表的第6個元素;上述列表只有5個元素,沒有第6個元素,因此取值范圍為整個列表。
step=1即步長為1,即元素間隔為1,間隔為1表示可以連續(xù)取值。
注意切片的語法:含前不含后,即含開始元素,不含結(jié)束元素。
【步長為1時冒號和步長可以省略不寫】
# 新建一個str列表 str_list = ["當歸", "人參", "黃芪", "紅棗", "枸杞"] print(str_list[0:1]) print(str_list[1:4]) print(str_list[2:5])
【終端輸出】
['當歸']
['人參', '黃芪', '紅棗']
['黃芪', '紅棗', '枸杞']
3.2 步長為3的切片取值
# 新建一個str列表
str_list = ["當歸", "人參", "黃芪", "紅棗", "枸杞"]
print(str_list[0:4:3])
print("列表切片取值得到的數(shù)據(jù)類型仍然是列表:", type(str_list[0:1]), '\n')【終端輸出】
['當歸', '紅棗']
列表切片取值得到的數(shù)據(jù)類型仍然是列表: <class 'list'>
【0:4:3代碼解析】
start=0即開始元素的索引為0,索引0對應列表的第1個元素,即元素當歸。
end=4即結(jié)束元素的索引為4,索引4對應列表的第5個元素,即元素枸杞
注意切片的語法:含前不含后,即含開始元素,不含結(jié)束元素枸杞。
step=3即步長為3,步長為3可以理解成一次性向前走3步,那就是要跳過2個字符。
注意切片的語法:含前不含后,即含開始元素,不含結(jié)束元素。

3.3 負索引取值
# 新建一個str列表 str_list = ["當歸", "人參", "黃芪", "紅棗", "枸杞"] print(str_list[-5:-1:3])
【終端輸出】
['當歸', '紅棗']

# 新建一個str列表 str_list = ["當歸", "人參", "黃芪", "紅棗", "枸杞"] print(str_list[-5:-2:3])
【終端輸出】
['當歸']
# 新建一個str列表 str_list = ["當歸", "人參", "黃芪", "紅棗", "枸杞"] print(str_list[-5:-2:2])
【終端輸出】
['當歸', '黃芪']
# 新建一個str列表 str_list = ["當歸", "人參", "黃芪", "紅棗", "枸杞"] print(str_list[-2:-5:-2])
【終端輸出】
['紅棗', '人參']
-2到-5是從右往左,從右往左步長應該為負整數(shù),下面的代碼為正整數(shù),因此沒有取到任何元素。
# 新建一個str列表 str_list = ["當歸", "人參", "黃芪", "紅棗", "枸杞"] print(str_list[-2:-5:2])
【終端輸出】
[]
到此這篇關于 Python列表的切片取值詳解的文章就介紹到這了,更多相關 Python切片取值內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
python數(shù)據(jù)庫開發(fā)之MongoDB安裝及Python3操作MongoDB數(shù)據(jù)庫詳細方法與實例
這篇文章主要介紹了python數(shù)據(jù)庫開發(fā)之MongoDB安裝及Python3操作MongoDB數(shù)據(jù)庫詳細方法與實例,需要的朋友可以參考下2020-03-03
Python抓取通過Ajax加載數(shù)據(jù)的示例
在網(wǎng)頁上,有一些內(nèi)容是通過執(zhí)行Ajax請求動態(tài)加載數(shù)據(jù)渲染出來的,本文主要介紹了使用Python抓取通過Ajax加載數(shù)據(jù),感興趣的可以了解一下2023-05-05
Python時區(qū)設置方法與pytz查詢時區(qū)教程
這篇文章主要介紹了Python時區(qū)設置的方法和pytz查詢時區(qū)的方法,大家參考使用吧2013-11-11
python2 與python3的print區(qū)別小結(jié)
這篇文章主要介紹了python2 與python3的print區(qū)別小結(jié),需要的朋友可以參考下2018-01-01
Python實現(xiàn)PS圖像調(diào)整顏色梯度效果示例
這篇文章主要介紹了Python實現(xiàn)PS圖像調(diào)整顏色梯度效果,結(jié)合實例形式分析了Python實現(xiàn)PS圖像調(diào)整中顏色梯度的原理與相關操作技巧,需要的朋友可以參考下2018-01-01

