切片的語法表示式為:[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_index
、end_index
和step
,這樣就表示就表示切片整個序列,也就是複製出了乙個新的序列:
>>> c[:]
['a', 'b', 'c', 'd', 'e', 'f']
省略start_index
、end_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_index
到end_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 取出列表...