取一部分叫做切片,切片的原則是左閉右開,即取頭部不取尾部;切片的步長預設為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 ...