Python切片通過[start:stop:step]從序列中提取子序列,支持正負索引和省略參數(shù),默認不包含stop位置,步長可正可負。例如lst=[10,20,30,40,50],lst[1:4]得[20,30,40],lst[-3:-1]得[30,40],lst[:3]取前三個元素,lst[::2]取偶數(shù)位,lst[::-1]實現(xiàn)反轉(zhuǎn)。切片不會引發(fā)索引越界錯誤,超出范圍時自動調(diào)整邊界,返回新對象且原序列不變,但列表切片為淺拷貝,嵌套可變對象修改會影響原內(nèi)容。切片適用于列表、字符串、元組、range等序列類型,如"hello"[1:4]得"ell",(1,2,3,4)[::2]得(1,3)。掌握切片規(guī)則可提升代碼效率,尤其負索引與反向切片實用性強。
Python切片是一種靈活且高效的操作方式,用于從序列(如列表、字符串、元組)中提取子序列。它不修改原對象,而是返回一個新的序列片段。以下是Python切片的主要特征:
切片可以使用正數(shù)索引(從0開始)或負數(shù)索引(從-1開始,表示倒數(shù)第一個元素)。
例如:lst = [10, 20, 30, 40, 50]
lst[1:4]
得到 [20, 30, 40]
lst[-3:-1]
得到 [30, 40]
切片有三個參數(shù):起始位置、結(jié)束位置(不包含)、步長。每個參數(shù)都可以省略,默認值分別為開頭、結(jié)尾、1。
說明:lst[:3]
取前3個元素lst[::2]
取所有偶數(shù)位元素(步長為2)lst[::-1]
實現(xiàn)序列反轉(zhuǎn)當切片的 start 或 stop 超出序列范圍時,Python會自動調(diào)整到有效邊界,不會拋出 IndexError。
立即學習“Python免費學習筆記(深入)”;
例如:lst[10:]
如果列表只有5個元素,結(jié)果為空或原樣返回末尾部分,取決于方向切片操作返回的是原序列的一個副本片段,不會改變原始數(shù)據(jù)。這對于保護原始數(shù)據(jù)很有用。
注意:切片不僅可用于列表,還適用于字符串、元組、range對象等支持索引的序列類型。
示例:"hello"[1:4]
→ "ell"
(1,2,3,4)[::2]
→ (1,3)
基本上就這些。切片簡潔強大,掌握好索引和步長規(guī)則,能大幅提升代碼效率。實際使用中多練習負索引和反向切片,容易忽略但非常實用。
以上就是python切片有哪些特征的詳細內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!
python怎么學習?python怎么入門?python在哪學?python怎么學才快?不用擔心,這里為大家提供了python速學教程(入門到精通),有需要的小伙伴保存下載就能學習啦!
微信掃碼
關(guān)注PHP中文網(wǎng)服務號
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號