Python中字串切片詳解

2021-10-05 11:04:14 字數 1990 閱讀 9112

在python中,我們定義好乙個字串,如下所示。

s =

'abcdefghijklmnop'

在python中定義個字串然後把它賦值給乙個變數。我們可以通過下標訪問單個的字元,跟所有的語言一樣,下標從0開始。這個時候呢,我們可以通過切片的方式來截取出我們定義的字串的一部分。使用切片的時候我們有兩種方式:

1.沒有步長的簡單切片

語法格式是這樣的:

注意一下: 在這裡呢,start表示的是字串要擷取的開始下標,stop 表示終止的字串結束的前乙個位置。

'''

'''>>

>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中的字串的索引序號可以是正數也可以是負數,從-1開始算:

>>

>s[-1

]'p'

>>

>s[-5

]'l'

所以我們還可以這麼玩:

>>

>s[-3

:]'nop'

2.有步長的切片方式

另外的一種切片方式就是,首先還是定義一格字串的變數,然後間隔的取出我們的字串中的字元。

語法格式:

s [start: stop: stride]
同樣這裡取出來的字串的結束字元是stop結束的前乙個字元

stride表示的是間隔的取出字串

下面來看幾個例子:

'''

'''>>

>s =

'abcdefghijklmnop'

>>

>s[1:

10:2]

'bdfhj'

>>

>s[::

2]'acegikmo'

這個時候我們可以還可以反轉字串

>>

>s[::

-1]'ponmlkjihgfedcba'

間隔逆向的取出字串:

>>

>s[::

-2]'pnljhfdb'

反方向的擷取部分的字串:

這個時候我們將步長的那個地方設定為負數,表示從右向左取字串,步長的絕對值大於1表示間隔的取數。

開始的部分那個擷取下標也要從負數計算,或者start必須大於結束的下標,因為它是從右開始的擷取的。

'''

'''>>

>s =

'abcdefghijklmnop'

>>

>s[-1

:-8:

-1]'ponmlkj'

>>

>s[-1

:3:-

2]'pnljhf'

>>

>s[10:

1:-3

]'khe'

python的字串切片就是這個樣子的。

Python中字串切片詳解

在python中,我們定義好乙個字串,如下所示。s abcdefghijklmnop 在python中定義個字串然後把它賦值給乙個變數。我們可以通過下標訪問單個的字元,跟所有的語言一樣,下標從0開始。這個時候呢,我們可以通過切片的方式來截取出我們定義的字串的一部分。使用切片的時候我們有兩種方式 語法...

Python中字串切片詳解

str 索引 索引 步長 num str 0123456789 擷取2 5位置的字串 print num str 2 6 輸出結果 2345 擷取2到末尾的字串 print num str 2 輸出結果 23456789 擷取從開始到5的字串 print num str 6 輸出結果 012345 ...

詳解Python字串切片

在python中,我們定義好乙個程式設計客棧字串,如下所示。在python中定義個字串然後把它賦值給乙個變數。我們可以通過下標訪問單個的字元,跟所程式設計客棧有的語言一樣,下標從0開始 我自己都覺得寫的好腦殘了 這個時候呢,我們可以通過切片的方式來截取出我們定義的字串的一部分。使用切片的時候我們有兩...