python的切片(Slice)操作符

2021-08-21 20:14:44 字數 1701 閱讀 3754

>>> l = ['michael', 'sarah', 'tracy', 'bob', 'jack']

>>> l[0:3] //從索引0開始擷取,擷取到第三個元素,即索引為2的元素

['michael', 'sarah', 'tracy']

>>> l[:3] //前面的0可以省略

['michael', 'sarah', 'tracy']

>>>

支援倒序擷取

從倒數第乙個擷取到倒數第二個,不包括索引為-1的元素,包括索引為-2的元素

也可以這麼理解,無論是順序擷取還是倒序擷取都是:包括第乙個索引的元素,不包括第二個索引的元素

>>> l[-2

:-1]

['bob']

下面出現的range(50)方法作用:順序生成0-49的整數(不包括50)

range(2,10):順序生成2-10之間整數(不包括10)

range(0,10,2):順序生成0-10之間的偶數(不包括10)

即rang()能生成一組list

>>> l

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49]

>>> l[::2]

//每兩個取乙個:

[0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48]

>>> l[1:10]

//從索引1開始擷取到索引為10的元素

[1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> l[1:10:2]

//從索引1開始擷取到索引為10的元素之間每兩個取乙個

[1, 3, 5, 7, 9]

>>> l[:10:2]

//從索引0開始擷取到索引為10的元素之間每兩個取乙個

[0, 2, 4, 6, 8]

>>> l[:]

//只寫乙個 冒號相當於複製了整個list

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49]

>>> l[-10:]

//取最後十個數

[40, 41, 42, 43, 44, 45, 46, 47, 48, 49]

>>>

tuple也可以用切片操作
>>> t = (1,2,3,77,5)

>>> t[:4]

(1, 2, 3, 77)

>>> t[1:4]

(2, 3, 77)

字串也是一種list,也可以使用切片操作
>>> 

'abcde'[2:3]

'c'

Python高階特性 切片 Slice

如何在乙個陣列中取特定的一組資料?是乙個個指定?l range 10 l 0,1,2,3,4,5,6,7,8,9 l 0 0 l 1 l 2 l 3 1,2,3 資料少還行,要是資料多呢?迴圈怎麼樣?l range 10 l 0,1,2,3,4,5,6,7,8,9 for i in range 3 ...

Python學習筆記 切片(Slice

python的切片 slice 操作符 引用演示 tempstr input 請輸入帶有符號的溫度值 tempstr 1 使用了python的切片 slice 操作符 語法 l start stop stride if tempstr 1 in f f c eval tempstr 0 1 32 1...

golang筆記 Slice切片

sliceslice代表變長的序列,序列中每個元素都有相同的型別。語法和陣列很像,只是沒有固定長度。引用型別 動態陣列 從概念上來說,slice像乙個結構體,這個結構體包含了三個元素 乙個指標,指向陣列中slice指定的開始位置 長度,即slice的長度 最大長度,也就是slice開始位置到陣列的最...