Python中字符串切片详解
在python中,我們定義好一個字符串,如下所示。
s = 'abcdefghijklmnop'在python中定義個字符串然后把它賦值給一個變量。我們可以通過下標訪問單個的字符,跟所有的語言一樣,下標從0開始。這個時候呢,我們可以通過切片的方式來截取出我們定義的字符串的一部分。使用切片的時候我們有兩種方式:
1.沒有步長的簡單切片
語法格式是這樣的:
-
首先定義一格字符串,比如叫s,然后給它賦值
-
截取字符串中的一部分,我們用的語法是 s[ start : stop ]
注意一下: 在這里呢,start表示的是字符串要截取的開始下標,stop 表示終止的字符串結(jié)束的前一個位置。
''' 遇到問題沒人解答?小編創(chuàng)建了一個Python學習交流QQ群:579817333 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' >>>s = 'spam' >>>s[0], s[-2] ('s', 'a') >>>s[1:3], s[1:], s[:-1] ('pa', 'pam', 'spa') >>>從上面我們可以知道,如果從開頭截取到某個特定的位置可以用 [ : a]來表示
>>>s = 'abcdefghijklmnop' >>>s[:8] 'abcdefgh'如果從某一位開始截取到最后一位可以用[ a : ]來表示
>>>s[8:] 'ijklmnop'這里有一點要說明, 在 pyhton中的字符串的索引序號可以是正數(shù)也可以是負數(shù),從-1開始算:
>>>s[-1] 'p' >>>s[-5] 'l'所以我們還可以這么玩:
>>>s[-3:] 'nop'2.有步長的切片方式
另外的一種切片方式就是,首先還是定義一格字符串的變量,然后間隔的取出我們的字符串中的字符。
語法格式:
s [start: stop: stride]同樣這里取出來的字符串的結(jié)束字符是stop結(jié)束的前一個字符
stride表示的是間隔的取出字符串
下面來看幾個例子:
''' 遇到問題沒人解答?小編創(chuàng)建了一個Python學習交流QQ群:579817333 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' >>>s = 'abcdefghijklmnop' >>>s[1:10:2] 'bdfhj' >>>s[::2] 'acegikmo'這個時候我們可以還可以反轉(zhuǎn)字符串
>>>s[::-1] 'ponmlkjihgfedcba'間隔逆向的取出字符串:
>>>s[::-2] 'pnljhfdb'反方向的截取部分的字符串:
這個時候我們將步長的那個地方設(shè)置為負數(shù),表示從右向左取字符串,步長的絕對值大于1表示間隔的取數(shù)。
開始的部分那個截取下標也要從負數(shù)計算,或者start必須大于結(jié)束的下標,因為它是從右開始的截取的。
''' 遇到問題沒人解答?小編創(chuàng)建了一個Python學習交流QQ群:579817333 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' >>>s = 'abcdefghijklmnop' >>>s[-1:-8:-1] 'ponmlkj' >>>s[-1:3:-2] 'pnljhf' >>>s[10:1:-3] 'khe'python的字符串切片就是這個樣子的。
總結(jié)
以上是生活随笔為你收集整理的Python中字符串切片详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python中strip()、lstri
- 下一篇: 5种Python逐行读取文件的方式