python中列表的切片

2021-09-02 23:48:24 字數 1990 閱讀 7209

取一部分叫做切片,切片的原則是左閉右開,即取頭部不取尾部;切片的步長預設為1,不可以為0

in [13]: a = [1,2,3,'bb','cc','dd']

in [14]: a[1:3]

out[14]: [2, 3]

in [15]: a[1:4]

out[15]: [2, 3, 'bb']

in [16]: a

out[16]: [1, 2, 3, 'bb', 'cc', 'dd']

in [17]: a[2:]

out[17]: [3, 'bb', 'cc', 'dd']

比如a[1:4:2] 中的2就是表示步長為2,表示就是從第1個元素取到第3個元素,但是是每2個元素取乙個。如果步長為1就是表示的連續取值。

in [19]: a = [1,2,3,'aa','bb','cc']

in [20]: a[1:4:2]

out[20]: [2, 'aa']

in [5]: print (a[:3])

[1, 2, 3]

in [6]: print(a[::2])

[1, 3, 'bb']

in [7]: print (a[::-1])

['cc', 'bb', 'aa', 3, 2, 1]

in [8]: print (a[1:5:-1])

in [1]: a = [1,2,3,4,5,6]

in [2]: a[1:4:-2]

out[2]: #首先看步長,步長為-2,表示逆序取值,然後起始索引位置為1,結束索引位置為4,則是順序取值的,所以無法取到值

in [3]: a[4:1:-2]

out[3]: [5, 3]#步長為-2,表示逆序取值,起始位置索引是4,結束位置索引是1,但是無法取到索引為1的值

in [4]: a[-1::-1]

out[4]: [6, 5, 4, 3, 2, 1]

#步長為-1,逆序取值;起始索引位置為-1,即倒數第乙個值,結束為空,則表示取完所有的

in [5]: a[-1:0:-1]

out[5]: [6, 5, 4, 3, 2]

#步長為-1,逆序取值;起始索引位置為-1,則為倒數第乙個;結束的索引位置為0,但是無法取到索引位置為0的元素;即無法取到1

in [12]: a[-3:0:-2]

out[12]: [4, 2]

#步長為-2,逆序間隔取值;其實位置索引為-3,結束位置索引為0,即從倒數第三個取到順數第乙個值;

in [13]: a[-5:-3:-1]

out[13]:

#步長為-1,逆序取值;起始位置索引為-5,結束位置索引為-3,即從倒數第5個元素取到倒數第2個元素,這樣就變成了順序取值了,矛盾了,故無法取到值

in [15]: a[-1:-5:-1]

out[15]: [6, 5, 4, 3]

#步長為-1,即逆序取值;起始位置索引為-1,結束位置索引為-4,即從倒數第乙個取到倒數第4個

in [16]: a[-1:-5:-2]

out[16]: [6, 4]

#步長為-2,即逆序間隔取值;起始位置索引為-1,結束位置索引為-4,即間隔從倒數第1個取到倒數第4個

[1:] 從當前索引位置取到最後

[1:3] 取索引值為1到3的元素

[1:3:2] 最後乙個元素叫做步長

[:3] 從頭開始取,取到第二個元素

[::2] 表示以步長為2取出列表中的值

[::-1] 步長為負數,從後面往前面取值,相當於翻轉

[1:5:-1] 步長為負數,逆序取值,然而起始位置索引是1,結束位置索引是5,表示順序取值,與逆序取值相矛盾,即取出來為空

切片取值,優先看步長,步長為正數,表示順序取值,步長為負數表示逆序取值;然後看起始位置索引和結束位置索引,注意,切片中無法取到結束位置索引所對應的值。

切片的操作適用於字串和元組,但是字串和元組是不可變的,列表是可變的。

python 切片 Python 列表切片

想必很多人都使用過列表的切片,通過切片可以從列表中獲取乙個或多個元素,但你真的了解切片?一 一般玩法 name a b c d e f g h name 0 2 獲取 0 2 中間的元素,不包括索引為 2 的元素 a b name 2 從 0 開始切,可省略 0 a b name 1 同樣地,切到最...

python中列表切片操作

python列表切片 python中符合序列的有序序列都支援切片 slice 例如列表,字串,元組。格式 start end step start 起始索引,從0開始,1表示結束 end 結束索引 step 步長,end start,步長為正時,從左向右取值。步長為負時,反向取值 注意切片的結果不包...

python 列表切片

a 0,1,2,3,4,5,6,7,8,9 print a 1 3 a 1 3 print a 3 a 3 print a 3 a 3 print a 1 7 2 a 1 7 2 步長為2 print a 1 a 1 從後往前遍歷 print a 7 1 2 a 7 1 2 從後往前遍歷,步長為2 ...