獲取列表中的多個元素 切片操作

2022-09-19 17:48:11 字數 984 閱讀 1758

獲取列表中的多個元素

需要使用切片操作:

語法格式:

列表名[start : stop : step] (新的列表物件)

切片的結果:源列表片段的拷貝(只是拷貝,不是引用!)

切片的範圍:[start, stop)(不包括stop)

step預設為1(如果沒有輸入step的話,即[start:stop],只要不寫其實都會被當成步長為1[start : stop : ]也是一樣的效果的)

注意這邊的分割是冒號不是逗號!

如果start不寫,預設是0,如果不寫stop,預設是元素個數,即下面的形式

[: x : y] [x : : y]

前面的情況都是步長為正數的情況,但是如果步長為負數的情況下,就會產生乙個對偶的變換,也就是

step為正數的時候,切片的第乙個元素預設是列表的第乙個元素,切片的最後乙個元素預設是列表的最後乙個元素

step為負數的時候,切片的第乙個元素預設是列表的最後乙個元素,切片的最後乙個元素預設是列表的第乙個元素

這邊的話可以通項理解也就是說對於切片操作中的情況有以下幾種情況

[x:y:z]

z,也就是步長,控制的是該列表是正序還是逆序,也就是說step>0的時候,從左往右,step<0的時候從右往左

然後接下來根據這樣的順序來指定元素,這邊不妨讓step>0那麼x必須小於y,否則返回的就是空列表,同理step<0的時候,必須讓x大於y,否則返回的就是空列表

至於x,y為正數負數倒是沒有很大影響,注意筆者前面講的大於小於的關係都是採用索引為x的元素離第乙個元素的距離來做比較的,總之,筆者強調的是x,y值得是索引,從左往右的關係應該將索引先具象到原列表中,再進行比較才好理解

所以下面的是正確的表述

lst = [1,2,3,4,5,6,7,8,9,0]

print(lst[-3:3:-1])

output:[8,7,6,5]

最後再次提醒start,stop和step之間是通過冒號分割,不是通過逗號分割

python中列表切片操作

python列表切片 python中符合序列的有序序列都支援切片 slice 例如列表,字串,元組。格式 start end step start 起始索引,從0開始,1表示結束 end 結束索引 step 步長,end start,步長為正時,從左向右取值。步長為負時,反向取值 注意切片的結果不包...

列表的切片操作

1 切片取值 slicing 語法 列表 開始索引 結束索引 步長 作用 列表的切片取值是從原列表中取出想要的元素再次組成乙個新的列表 2 切片賦值 slicing assignment 作用 改變原列表的排列,可以出入和修改資料 語法 列表 切片 可迭代物件 說明 切片賦值的賦值運算子 的右側必須...

列表list切片list的切片操作

python中可以對list使用索引來進行切片操作,其語法 python3 如下 a a copy of the whole array a start items start through the rest of the array a stop items from the beginning...