python 切片步長


python切片

切片:list變量[值下標:結束值下標]  什么意思呢?

就是獲取 list中 下標從定義的位置開始獲取數據到  自定義的下標位置結束, 但是切片有個規矩就是顧頭不顧尾,

舉個例子

kl = ["OPPO","VIVO","IPHONE","LEVOVO"]
print(kl[0:1])

結果:['OPPO']

如果我取list里面的OPPO,VIVO 那就得結束下標多+1 : 說白了就是切片的時候顧頭不顧尾 從填寫的下標開始取值, 到結束的下標, 但是結束的下標即使填寫了也不會取到,只會取到結束下標前面的值

kl = ["OPPO","VIVO","IPHONE","LEVOVO"]
print(kl[0:2])

結果:['OPPO', 'VIVO']

如果我從 下標1 開始取后面的全部值

kl = ["OPPO","VIVO","IPHONE","LEVOVO"]
print(kl[0:])

結果:['OPPO', 'VIVO', 'IPHONE', 'LEVOVO']

從起始位置下標開始取到最后全部的值,下標*:不填寫

如果我想從list中的倒數第二個數據開始取值, 取到最后面的全部的值

kl = ["OPPO","VIVO","IPHONE","LEVOVO"]
print(kl[-2:])

結果:['IPHONE', 'LEVOVO']

因為 -號代表 倒數第幾個下標, 從倒數第二個開始取:取全部, 切片是從左往右取值的

我還可以這樣:

kl = ["OPPO","VIVO","IPHONE","LEVOVO"]
print(kl[:])

結果:['OPPO', 'VIVO', 'IPHONE', 'LEVOVO']

因為:開始切片下標不填代表從0開始去全部的值,結束不填寫, 也是取全部的值

 

接下來就是切片步長

這個步長和range(0,10,2) 的步長是一樣的

代碼:

kl = ["OPPO","VIVO","IPHONE","LEVOVO"]
print(kl[1::2])

結果:['VIVO', 'LEVOVO']

因為:從下標1的數據開始取值,取后面全部的值, 並且取值的時候設置了步長,取值的時候跳着取,跳2個下標

可以這樣理解:開始的時候下標是1 設置的步長是2 那么就是, 去下標是1 的數據, 還會去 1+步長(2) =3 那么會取下標是3 的數據,再往后就是結果3+步長(2)=5,系統會取下標是5 的數據, 在往后的話就是結果5+步長(2) =7 系統就會取下標是7的數據


免責聲明!

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



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