網站首頁 編程語言 正文
1. 列表的切片
索引取值可以從列表中取出1個元素。
如果要從列表中取出多個元素,可以用列表的切片方法。
列表的切片語法和字符串的切片語法相同。
2. 切片的語法
【語法】
列表[star:end:step]
列表[開始字符:結束字符:步長]
列表切片取值由4部分構成:
列表名。
英文中括號。
3個參數。
3個參數之間用英文冒號分隔。
參數start:表示要取的第1元素的索引(包括該元素),如果不指定,則默認為0
。
參數end:表示要取的最后1個元素的索引(不包括該元素),如果不指定,則默認為列表的長度。
參數step:表示切片的步長。如果省略,則默認為1,當省略該步長時,最后一個冒號也可以省略。
步長我的理解就是向前或向后走幾步,可以是正整數,也可以是負整數。
步長為1,表示向前走1步,那就是依次取值。
步長為2,表示一次性向前走2步,那就是要跳過1個字符。
步長為-2,表示一次性向后退2步,即從右往左跳過1個字符。
【重點提示】切片取值時包括開始字符,不包括結束字符,簡單記憶為含前不含后
。
3. 切片取值示例
3.1 步長為1的切片取值
# 新建一個str列表 str_list = ["當歸", "人參", "黃芪", "紅棗", "枸杞"] print(str_list[0:1:1]) print("列表切片取值得到的數據類型仍然是列表:", type(str_list[0:1:1]), '\n') print(str_list[1:4:1]) print("列表切片取值得到的數據類型仍然是列表:", type(str_list[1:4:1]), '\n') print(str_list[2:5:1]) print("列表切片取值得到的數據類型仍然是列表:", type(str_list[2:5:1]), '\n')
【終端輸出】
['當歸']
列表切片取值得到的數據類型仍然是列表: <class 'list'>?['人參', '黃芪', '紅棗']
列表切片取值得到的數據類型仍然是列表: <class 'list'>?['黃芪', '紅棗', '枸杞']
列表切片取值得到的數據類型仍然是列表: <class 'list'>?
【2:5:1代碼解析】
start=2即開始元素的索引為2,索引2對應列表的第3個元素,即元素黃芪
。
end=5即結束元素的索引為5,索引5對應列表的第6個元素;上述列表只有5個元素,沒有第6個元素,因此取值范圍為整個列表。
step=1即步長為1,即元素間隔為1,間隔為1表示可以連續取值。
注意切片的語法:含前不含后
,即含開始元素,不含結束元素。
【步長為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("列表切片取值得到的數據類型仍然是列表:", type(str_list[0:1]), '\n')
【終端輸出】
['當歸', '紅棗']
列表切片取值得到的數據類型仍然是列表: <class 'list'>?
【0:4:3代碼解析】
start=0即開始元素的索引為0,索引0對應列表的第1個元素,即元素當歸
。
end=4即結束元素的索引為4,索引4對應列表的第5個元素,即元素枸杞
注意切片的語法:含前不含后
,即含開始元素,不含結束元素枸杞
。
step=3即步長為3,步長為3可以理解成一次性向前走3步,那就是要跳過2個字符。
注意切片的語法:含前不含后
,即含開始元素,不含結束元素。
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是從右往左,從右往左步長應該為負整數,下面的代碼為正整數,因此沒有取到任何元素。
# 新建一個str列表 str_list = ["當歸", "人參", "黃芪", "紅棗", "枸杞"] print(str_list[-2:-5:2])
【終端輸出】
[]
原文鏈接:https://blog.csdn.net/weixin_63986098/article/details/126877976
相關推薦
- 2022-04-15 玩數據必備Python庫之numpy使用詳解_python
- 2023-07-22 JVM的類加載機制和垃圾回收機制
- 2022-07-14 詳解HBase表的數據模型_其它綜合
- 2022-07-15 python中進程間通信及設置狀態量控制另一個進程_python
- 2022-04-20 聊一聊數據請求中Ajax、Fetch及Axios的區別_AJAX相關
- 2022-07-18 BeanUtils工具類
- 2023-04-12 python中list.copy方法用法詳解_python
- 2022-09-08 執行go?vendor第三方包版本沖突問題解決_Golang
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支