python裡提供了切片(slice)操作符獲取列表裡的元素。
示例:
>>> l = [1,2,3,4,5]
# 取前2個元素,傳統方法
>>> [l[0],l[1]]
[1,2]
# 取前2個元素,使用切片
>>> l[0:2]
[1,2]
l[0:2]
表示,從索引0開始取,直到索引2為止,但不包括索引2。
如果第乙個索引是0,還可以省略:
>>> l[:2]
[1,2]
也可以倒數取元素:
>>> l[-2:]
[4,5]
l[-2:]
表示倒數第2個開始直到結束。記住倒數第乙個元素的索引是-1。
如果不指定開始和結束,只寫[:]
就可以原樣複製乙個list:
>>> l[:]
[1,2,3,4,5]
這個技巧很有用,在函式裡如果我們不希望改變原列表,就可以使用該技巧複製出乙個列表,傳給函式。
切片還支援第三個引數,表示每隔幾個元素操作:
>>> l[::2]
[1,3,5]
tuple也是一種list,唯一區別是tuple不可變。因此,tuple也可以用切片操作,只是操作的結果仍是tuple:
>>> (0, 1, 2, 3, 4, 5)[:3]
(0, 1, 2)
字串'***'也可以看成是一種list,每個元素就是乙個字元。因此,字串也可以用切片操作,只是操作結果仍是字串:
>>> 'abcdefg'[:3]
'abc'
>>> 'abcdefg'[::2]
'aceg'
很多程式語言針對字串會提供很多字串擷取函式,例如substr。python使用簡單的切片操作即可完成同樣的功能。 python學習 切片
掌握了python的資料型別 語句和函式,基本上就可以編寫出很多有用的程式了。比如構造乙個1,3,5,7,99的列表,可以通過迴圈實現 l n 1 while n 99 n n 2 取list的前一半的元素,也可以通過迴圈實現。但是在python中,不是越多越好,而是越少越好。不是越複雜越好,而是越...
Python學習筆記 切片
學習廖雪峰python教程所得。1.切片 slice 可用於list tuple或字串。以list為例 l a b c d e 切片操作符 l x y z x y z 切片索引,x是左端,y是右端,z是步長,在 x,y 區間從左到右每隔z取值,預設z為1可以省略z引數。步長的負號就是反向,從右到左取...
Python學習21 切片
取乙個list或tuple的部分元素是非常常見的操作。比如,乙個list如下 l michael sarah tracy bob jack 取前3個元素,應該怎麼做?笨辦法 l 0 l 1 l 2 michael sarah tracy 之所以是笨辦法是因為擴充套件一下,取前n個元素就沒轍了。取前n...