python的字符串分片


1 s = "abcdefg"

對於這樣一個字符串進行操作。分片格式為:

1 s[i:j:k]

其中,i和j分別代表子串的起始和末尾;-1則代表倒數第一個元素,同理-2代表倒數第二個元素......j不包括s[j]元素,也就是說s[0:2]截取的是"ab",s[0:0]則是空字符串。i的默認值是0,省略j則會截取完整個字符串。

k是步長,也分為正負兩種參數,正參數代表從前往后輸出,負參數則是從后往前輸出,k的默認值是1。k不可取0。|k|的值代表增量,k==1時,正常輸出,當|k|>1時,則會跳過元素輸出,例如s[::2]得到的結果是"aceg"。通常情況下k可以省略,s[i:j]和s[i:j:1]是一樣的。

舉幾個例子:

1.將字符串逆置

s[::-1]    #i,j取默認值

得到gfedcba

2.正序輸出,但是除掉最后一個字符

s[0:-1]

得到"abcdef"

3.正序輸出,倒數3個字符都舍去

s[0:-3]

得到"abcd"

4.正序輸出末尾3個字符

s[-3:]     #這里j取了默認值

得到"efg"

注意如果輸入s[-3:0],會得到空字符串,輸入s[-3,-1]會得到"ef",所以必須省略j才能達到要求。


免責聲明!

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



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