python 列表切片


列表切片是python語言獨有的特征,大大方便了我們的編碼。

首先,在介紹切片之前,必須要知道一個知識,就是python列表的讀寫,下標可以使用負數。

insert,get,set 操作均可傳入負數下標

當傳入的下標是負數時,python會自動的加上一個length,但只會加一次,也就是說如果這個負數超過了 - length ,那么就會報錯了

list 的負數下標

1 a = [1, 2, 3, 4, 5]
2 # index = -1 + 5 = 4
3 # a[-1] == a[4]
4 print(a[-1])    # 5

當負數下標超過length

1 a = [1, 2, 3, 4, 5]
2 # index = -6 + 5 = -1
3 print(a[-6])    # IndexError: list index out of range

 

接下來是切片

list 的下標可以接收三個參數,分別是 beg (起始下標), end (結束下標) , step(步長)more,用冒號分隔

當 step > 0 :   beg 默認值是0,  end 默認值是  最末之后

當 step < 0 :  beg 默認值是length-1,  end默認值是  開頭之前

當 step = 0: 報錯

step 默認值是1

 1 a = [1, 2, 3, 4, 5]
 2 # step 默認值 1 ,當 step > 0,   beg 默認值 0 ,end 默認值 最末之后
 3 print(a[:])  # [1, 2, 3, 4, 5]
 4 print(a[::])  # [1, 2, 3, 4, 5]
 5 print(a[0:5:1])  # [1, 2, 3, 4, 5]
 6 print(a[0:1000:1])  # [1, 2, 3, 4, 5]
 7 
 8 # 當 step < 0,  beg 默認值 length-1 ,end 默認值 開頭之前
 9 print(a[::-1])  # [5, 4, 3, 2, 1]
10 print(a[len(a) - 1:-100:-1])  # [5, 4, 3, 2, 1]

切片產生的是列表的一個副本:

1 a = [1, 2, 3, 4, 5]
2 b = a[1:]
3 print(a)  # [1, 2, 3, 4, 5]
4 print(b)  # [2, 3, 4, 5]

切片的寫操作:

1 a = [1, 2, 3, 4, 5]
2 a[1:] = ['a']
3 print(a)  # [1, 'a']

 

 

end

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM