Python學習 06切片

2021-09-07 08:32:53 字數 1035 閱讀 2829

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...