Python3基礎10 切片

2021-08-29 03:43:27 字數 1926 閱讀 4552

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

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

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

切片不會改變原物件,而是重新生成了乙個新的物件

>>> c = ['a','b','c','d','e','f']

>>> c[0:4:1]

['a', 'b', 'c', 'd']

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

>>> c[:5]

['a', 'b', 'c', 'd', 'e']

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

>>> c[2:]

['c', 'd', 'e', 'f']

省略start_indexend_indexstep,這樣就表示就表示切片整個序列,也就是複製出了乙個新的序列:

>>> c[:]

['a', 'b', 'c', 'd', 'e', 'f']

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

>>> c[::2]

['a', 'c', 'e']

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

>>> c[::-1]

['f', 'e', 'd', 'c', 'b', 'a']

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

c = ['a','b','c','d','e','f']

下面這四種表示式是等價的:

>>> c[0:3]

['a', 'b', 'c']

>>> c[0:-3]

['a', 'b', 'c']

>>> c[-6:3]

['a', 'b', 'c']

>>> c[-6:-3]

['a', 'b', 'c']

解釋:c[0:-3]等價於c[a:d:1],c[-6:3]等價於c[0:3:1]

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

>>> c[0:3:-1]

>>> c[3:0:1]

python3 切片 python3 切片

取乙個list或tuple的部分元素是非常常見的操作。比如,乙個list如下 l michael sarah tracy bob jack 取前3個元素,應該怎麼做?笨辦法 l 0 l 1 l 2 michael sarah tracy 之所以是笨辦法是因為擴充套件一下,取前n個元素就沒轍了。取前n...

python3 切片 七 python3 切片

切片 取乙個 list 或 tuple 的部分元素是非常常見的操作 l michael sarah tracy bob jack 笨辦法 之所以是笨辦法是因為擴充套件一下,取前 n 個元素就沒轍了。l 0 l 1 l 2 michael sarah tracy 取前 n 個元素,也就是索引為 0 n...

python 3 切片練習

coding gbk def qipian a,a 1,a 2,a 3,a 4 map int,input 輸入a,a 1,a 2,a 3,a 4 空格隔開 split a,a 1,a 2,a 3,a 4為int型 b a,a 1,a 2,a 3,a 4 print b c b 0 3 2 取出列表...