1. 程式人生 > >Python3基礎10——切片

Python3基礎10——切片

color 就是 元素 對象 第一個 截取 pre art start

切片的語法表達式為:[start_index : end_index : step]

start_index表示起始索引,end_index表示結束索引,step表示步長,步長不能為0,且默認值為1

切片操作是指按照步長,截取從起始索引到結束索引,但不包含結束索引(也就是結束索引減1)的所有元素。

切片不會改變原對象,而是重新生成了一個新的對象

1 >>> C = [A,B,C,D,E,F]
2 >>> C[0:4:1]
3 [A, B, C, D]

省略start_index,保留end_index,這樣會從第一個元素開始,切到end_index - 1

的元素為止

1 >>> C[:5]
2 [A, B, C, D, E]

保留start_index,但省略end_index,這樣會從起始索引開始,切到最後一個元素為止:

1 >>> C[2:]
2 [C, D, E, F]

省略start_indexend_indexstep,這樣就表示就表示切片整個序列,也就是復制出了一個新的序列:

1 >>> C[:]
2 [A, B, C, D, E, F]

省略start_indexend_index,但保留step,表示對整個序列,按照步長整除的規則取值:

1 >>> C[::2]
2 [A, C, E]

此時,如果我們將步長設為-1,那麽就可以很方便的得到一個反序的序列了:

1 >>> C[::-1]
2 [F, E, D, C, B, A]

只要起始值start_index到結束值end_index在step方向中間有值,就有返回值:

 1 C = [A,B,C,D,E,F]
 2 # 下面這四種表達式是等價的:
 3 >>> C[0:3]
 4 [A, B, C]
 5 >>> C[0:-3]
6 [A, B, C] 7 >>> C[-6:3] 8 [A, B, C] 9 >>> C[-6:-3] 10 [A, B, C]

解釋:c[0:-3]等價於c[A:D:1],c[-6:3]等價於c[0:3:1]

切片時,一定要保證start_indexend_index的方向與步長step的方向同向,否則會切出空的序列:

1 >>> C[0:3:-1]
2 []
3 >>> C[3:0:1]
4 []



Python3基礎10——切片