切片操作符是序列名后跟一個方括號,方括號中有一對可選的數(shù)字,并用冒號分割。 注意: 數(shù)是可選的,而冒號是必須的。
切片操作符中的第一個數(shù)(冒號之前)表示切片開始的位置,第二個數(shù)(冒號之后)表示切片到哪里結(jié)束,第三個數(shù)(冒號之后)表示切片間隔數(shù)。
如果不指定第一個數(shù),Python就從序列首開始。如果沒有指定第二個數(shù),則Python會停止在序列尾。 ? (序列首與序列尾 依據(jù)step方向決定 !)
注意: 返回的序列從開始位置開始 ,剛好在結(jié)束位置之前結(jié)束。 即開始位置是包含在序列切片中的,而結(jié)束位置被排斥在切片外。( 前閉后開 !)
總結(jié): 1. start 和 end 不填,或者其中一個不填,都是指代獲取所有,然后根據(jù) step 確定方向。
2. step:表示取值的步長,默認為1,步長值不能為0。
3. 因此任意一個序列結(jié)構(gòu)數(shù)據(jù)的索引范圍為 -len(consequence) 到 len(consequence)-1 范圍內(nèi)的連續(xù)整數(shù)。
4. 當(dāng)使用冒號(:)對序列進行切片取值時,你所輸入的無論是start_index或者end_index,都不必局限于 -len(consequence) 到 len(consequence)-1 之間因為只有當(dāng)你輸入的索引號處于這個區(qū)間時才真正有效,而當(dāng)你輸入的索引號超出這個范圍時,python會自動將start_index或end_index設(shè)定為缺省值(即第一個對象和最后一個對象)。
額外:
其中a[len(a)-1]等同于a[-1],a[-len(a)]等同于a[0],分別表示序列的最后一個和第一個對象。 |
|
來自: highoo > 《數(shù)據(jù)分析》