python切片中容易出錯的情況

2021-10-21 03:46:31 字數 1120 閱讀 1326

python中的切片操作,對於提取乙個物件中的部分值來說,非常便利。

彙總一下在使用切片操作的過程中,容易出錯的切片情況:

# list切片

# 格式:list[start:end:step]

data =[1

,2,3

,4,5

,6,7

,8,9

]print

(data[2:

10:2]

)# 切片超過範圍不報錯,[3, 5, 7, 9]

print

(data[7:

2:2]

)# 步長為正數,從左向右切,start > end,返回

print

(data[2:

7:-2

])# 步長為負數,從右向左切,start < end,返回

print

(data[7:

2:-2

])# [8, 6, 4],注意邊界值能否取到的問題

# 不管是從左往右切,還是從右往左切,start都是可以取到的,end取不到,左閉右開

拷貝列表

# 拷貝

data =[1

,2,3

,4,5

,6,7

,8,9

]res = data[:]

print

(res)

# [1, 2, 3, 4, 5, 6, 7, 8, 9]

反轉列表

# 反轉列表

data =[1

,2,3

,4,5

,6,7

,8,9

]print

(data[::

-1])

# [9, 8, 7, 6, 5, 4, 3, 2, 1]

data.reverse(

)# 列表會發生改變,不需要重新賦值

print

(data)

# [9, 8, 7, 6, 5, 4, 3, 2, 1]

可進行切片操作的資料型別不只有列表,元組和字串也可以。

原創 Python切片中step用法總結

切片操作的語法格式 列表名 start stop step 1.切片的結果 原列表片段的拷貝 會產生新的列表物件 lst 10 20,30 40,50 60,70 80 切片為 start 2 stop 6 step 1 lst2 lst 2 6 1 print lst2 30,40,50,60 p...

正確理解「切片」中的問題

日常python小筆記 比如有序列如下 numbers 1,2,3,4,5,6,7,8,9,10 切片訪問指定範圍內的元素 如 numbers 7 10 注意 1 在實際理解中,後面這個數字需減一才能得到正確結果 除過加上步長引數且引數為負數 2 前面數字所指定的元素必須在後面指定的前面 除過加上步...

容易出錯的 if 語句

下面列舉幾個容易出錯的if語句例項,如果後續還有新的發現,還會繼續更新!int n 5 if n 0 printf 值為正 初次執行,感覺一切正常,沒有錯誤,這時我把n的值改為 5重新編譯後,結果還是為正。這是為什麼?仔細一瞧,我們發現在 n 0 後面我們多加了個分號!原因 只有乙個分號的語句叫做空...