python整形怎么切片_python 切片操作 slice
列表切片:
list [start_index, end_index, step]? step可正可負,為正時表示從左往右取,為負時表示從右往左取
步長-1:表示從右往左取,開始1,結束3,表示從左往右取,兩個互相矛盾,所以結果為空。
當end_index大于列表總長度時,可以正 確取值,取到結尾處。
當start_index為6,end_index為3時,取不到值是因為step默認為1,即從左往右取,而6:3是從右往左取。
這樣將step寫為-1時,就可以取到了。
此時step默認為1,即從左往右取,-6:-1也是從左往右取的意思。所以可以取到。
此時step默認為1,即從左往右取,end_indx沒有時默認是取到終點,從左往右取的終點就是最右邊。
step為-1,表示從右往左取,end_index沒有默認為取到終點,此時的終點是最左邊。
切片操作:
1。 切取單個元素
2。切取完整對象
3。start_index和end_index全為正索引(+)的情況
4。start_index和end_index全為負索引(-)的情況。
5。start_indx和end_index正(+)負(-)混合索引的情況
6。多層切片操作
7。切片操作的三個參數可以用表達式
8。切片操作的對象可以是列表、字符串,元組等可迭代的對象。
9。常用切片:取偶數位置,取奇數位置,修改單個元素,在某個位置插入元素,替換一部分元素
五、 總結
(一)start_index、end_index、step三者可同為正、同為負,或正負混合。但必須遵循一個原則,即:當start_index表示的實際位置在end_index的左邊時,從左往右取值,此時step必須是正數(同樣表示從左往右);當start_index表示的實際位置在end_index的右邊時,表示從右往左取值,此時step必須是負數(同樣表示從右往左),即兩者的取值順序必須相同。
(二)當start_index或end_index省略時,取值的起始索引和終止索引由step的正負來決定,這種情況不會有取值方向矛盾(即不會返回空列表[]),但正和負取到的結果順序是相反的,因為一個向左一個向右。
(三)step的正負是必須要考慮的,尤其是當step省略時。比如a[-1:],很容易就誤認為是從“終點”開始一直取到“起點”,即a[-1:]= [9, 8, 7, 6, 5, 4, 3, 2, 1, 0],但實際上a[-1:]=[9](注意不是9),原因在于step省略時step=1表示從左往右取值,而起始索引start_index=-1本身就是對象的最右邊元素了,再往右已經沒數據了,因此結果只含有9一個元素。
(四)需要注意:“取單個元素(不帶“:”)”時,返回的是對象的某個元素,其類型由元素本身的類型決定,而與母對象無關,如上面的a[0]=0、a[-4]=6,元素0和6都是“數值型”,而母對象a卻是“list”型;“取連續切片(帶“:”)”時,返回結果的類型與母對象相同,哪怕切取的連續切片只包含一個元素,如上面的a[-1:]=[9],返回的是一個只包含元素“9”的list,而非數值型“9”。
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的python整形怎么切片_python 切片操作 slice的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android如何分析native代码,
- 下一篇: python类的使用_python类的使