天天看點

python中字元串的使用01字元串切片

python中字元串的使用01字元串切片

字元串指一系列的字元,在python中,使用引号括起來的就是字元串,引号可以是單引号,也可以是雙引号。在python中可以對字元串進行:字元串切片、字元串合并、字元串查找、字元串替換、修改字元串大小寫、字元串對齊、使用換行符或制表符添加空白、删除空白、對字元串判斷等操作。

1.1、字元串的切片完整寫法

字元串切片:字元串切片的目的是選取字元串中的某一個片段。

基本文法:

字元串名稱[開始下标: 結束下标: 步長]
開始下标:字元串開始切片的位置
結束下标:字元串停止切片的位置
步長:從開始下标到下一個字元之間的距離,步長為幾,下标每次移動幾位
           

在python中的運用:

tr1 = '0123456789'     # 建立字元串
s1 = str1[0: 5: 2]  # 字元串切片的完整寫法
# 輸出結果
print(s1)   # 024
           

運作之後的結果:

024
           

1.2字元串切片參數為正數并且省略參數

字元串切片參數為正數并且省略參數

1、省略開始下标:當開始下标省略時,字元串開始下标預設為0。即字元串從下标為0的位置開始到結束下标以步長進行切片。

2、省略結束下标:當結束下标省略時,字元串結束下标預設為字元串長度。即字元串從開始下标開始到字元串末尾結束以步長進行切片。

3、省略步長:當步長省略時,字元串步長預設為1。即字元串從開始下标開始到結束下标結束以步長為1進行切片。

4、省略開始下标和結束下标:當省略開始下标和結束下标時,開始下标預設為0,結束下标預設為字元串長度。即字元串從下标為0的位置開始到字元串末尾以步長進行切片。

5、省略開始下标和步長:當省略開始下标和步長時,開始下标預設為0,步長預設為1。即字元串從下标為0的位置開始到結束下标以步長為1進行切片

6、省略結束下标和步長:當省略結束下标和步長時,結束下标預設為字元串長度,步長預設為1。即字元串從開始下标開始到字元串末尾以步長為1進行切片。

7、省略開始下标、結束下标和步長:當省略開始下标、結束下标和步長時,開始下标預設為0,結束下标預設為字元串長度、步長為1,。即字元串從下标為0的位置開始到字元串末尾以步長為1進行切片,也就是輸出整個字元串。

注意:當省略步長時括号中可以省略步長前的冒号。

基本文法:

# 字元串切片參數為正數并且省略參數
# 省略一個參數
字元串名稱[ : 結束下标: 步長]		# 省略開始下标
字元串名稱[開始下标: : 步長]		# 省略結束下标
# 省略步長
字元串名稱[開始下标: 結束下标: ]
字元串名稱[開始下标: 結束下标]		# 省略步長前面的冒号

省略兩個參數
字元串名稱[ : : 步長]	# 省略開始下标和結束下标
# 省略開始下标和步長
字元串名稱[: 結束下标: ]
字元串名稱[ : 結束下标]		# 省略步長前面的冒号
# 省略結束下标和步長
字元串名稱[開始下标: : ]
字元串名稱[開始下标:]		# 省略步長前面的冒号
# 省略三位參數
# 省略開始下标、結束下标和步長
字元串名稱[ : : ]
字元串名稱[ : ]		# 省略步長前面的冒号
           

在python中的運用

str1 = '0123456789'     # 建立字元串
# 省略參數
# 省略一位參數
s2 = str1[: 5: 2]   # 省略開始下标
s3 = str1[0: : 2]   # 省略結束下标
# 省略步長
s4 = str1[0: 5: ]
s5 = str1[0: 5]     # 省略步長前面的冒号

# 省略兩位參數
s6 = str1[: : 2]     # 省略開始下标和結束下标
# 省略開始下标和步長
s7 = str1[: 5:]
s8 = str1[: 5]      # 省略步長前的冒号
# 省略結束下标和步長
s9 = str1[0: : ]
s10 = str1[0: ]     # 省略步長前的冒号

# 省略3位參數
s8 = str1[: : ]      # 省略開始下标、結束下标、步長

# 參數中有負數的情況
# 參數中有一位負數的情況
ss1 = str1[-9: 5: 1]    # 開始下标為負數
ss2 = str1[0: -5: 1]    # 結束下标為負數
ss3 = str1[5: 0: -1]    # 步長為負數

# 參數中有兩位負數的情況
ss4 = str1[-5: -1: 1]   # 開始下标和結束下标為負數
ss5 = str1[-5: 0: -1]   # 開始下标和步長為負數
ss6 = str1[10: -5: -1]   # 結束下标和步長為負數

# 參數中有三位負數的情況
ss7 = str1[-5: -10: -1]  # 開始下标、結束下标、步長為負數

# 參數中有負數并且省略參數的情況與參數為正數并且省略參數的情況相同
# 輸出結果
print(s1)   # 024
print(s2)   # 024
print(s3)   # 02468
print(s4)   # 01234
print(s5)   # 01234
print(s6)   # 02468
print(s7)   # 01234
print(s8)   # 0123456789
print(s9)   # 0123456789
print(s10)   # 0123456789
           

運作之後的結果

024
024
02468
01234
01234
02468
01234
0123456789
0123456789
0123456789
           

1.3字元串切片參數為負數

字元串切片參數為負數:當開始下标和結束下标為負數時表示從右邊數起參數(絕對值)個位置,步長為負數時表示從右邊開始以步長參數(絕對值)進行切片。

1、開始下标為負數:當開始下标為負數時,開始位置相當于字元串長度加開始坐标的參數。如開始坐标為-8,字元串長度為10,則開始坐标相當于2。即字元串從開始坐标為字元串長度加開始坐标參數的位置開始到結束坐标以步長進行切片。注意字元串長度加開始坐标參數必須小于結束坐标的參數,否則切片出來的為空集。

2、結束下标為負數:當結束下标為負數時,結束位置相當于字元串長度加結束下标的參數。如結束坐标為-1,字元串長度為10,則結束坐标相當于9。即字元串從開始坐标開始到字元串長度加結束坐标參數的位置以步長進行切片。注意字元串長度加結束坐标參數必須大于開始坐标的參數,否則切片出來的為空集。

3、步長為負數:當步長為負數時,下标是從右邊向左邊以步長進行移動。如步長為-2表示下标從開始下标位置每次向右移動2位。即字元串從開始下标到結束下标以步長向右進行切片。注意開始下标必須大于結束下标,否則切片出來的為空集。

’4、開始下标和結束下标為負數:當開始下标和結束下标為負數時,開始位置為字元串長度加開始下标,結束位置為字元串長度加結束下标。即字元串從字元串長度加開始下标的位置開始到字元串長度加結束下标的位置以步長進行切片。注意字元串長度加開始下标必須小于字元串長度加結束下标,否則切片出來的為空集。

5、開始下标和步長為負數:當開始下标和步長為負數時,開始位置為字元串長度加開始下标,下标是從右邊向左邊以步長進行移動。即字元串從字元串長度加開始下标的位置到結束下标以步長向右進行切片。注意字元串長度加開始下标必須大于結束下标,否則切片出來的為空集。

6、結束下标和步長為負數:當結束下标和步長為負數時,結束位置相當于字元串長度加結束下标的參數,下标是從右邊向左邊以步長進行移動。即字元串從開始下标到字元串長度加結束下标以步長向右移動。注意開始下标必須大于字元串長度加結束下标,否則切片出來的為空集。

7、開始下标、結束下标和步長為負數:當開始下标、結束下标和步長為負數時,開始位置為字元串長度加開始下标,結束位置相當于字元串長度加結束下标的參數,下标是從右邊向左邊以步長進行移動。即字元串從字元串長度加開始下标的位置到字元串長度加結束下标的位置以步長向右移動。注意開始下标必須大于字元串長度加結束下标,否則切片出來的為空集。

基本文法:

# 字元串切片參數為負數
# 一個參數是負數
字元串名稱[負數: 正數: 正數]		# 開始下标為負數
字元串名稱[正數: 負數: 正數]		# 結束下标為負數
字元串名稱[正數: 正數: 負數]		# 步長為負數
# 兩個參數為負數
字元串名稱[負數: 負數: 正數]		# 開始下标為負數,結束下标為負數
字元串名稱[負數: 正數: 負數]		# 開始下标為負數,步長為負數
字元串名稱[正數: 負數: 負數]		# 結束下标為負數,步長為負數
# 三個參數為父負數
字元串名稱[負數: 負數: 負數]		# 開始下标為負數,結束下标為負數,步長為負數
           

在python中的運用:

str1 = '0123456789'     # 建立字元串
# 參數中有負數的情況
# 參數中有一位負數的情況
ss1 = str1[-9: 5: 1]    # 開始下标為負數
ss2 = str1[0: -5: 1]    # 結束下标為負數
ss3 = str1[5: 0: -1]    # 步長為負數

# 參數中有兩位負數的情況
ss4 = str1[-5: -1: 1]   # 開始下标和結束下标為負數
ss5 = str1[-5: 0: -1]   # 開始下标和步長為負數
ss6 = str1[10: -5: -1]   # 結束下标和步長為負數

# 參數中有三位負數的情況
ss7 = str1[-5: -10: -1]  # 開始下标、結束下标、步長為負數
# 輸出結果
print(ss1)    # 1234
print(ss2)    # 01234
print(ss3)    # 54321
print(ss4)    # 5678
print(ss5)    # 54321
print(ss6)    # 9876
print(ss7)    # 54321

           

運作之後的結果:

1234
01234
54321
5678
54321
9876
54321
           

1.4字元串切片參數存在負數并且省略參數

字元串切片參數存在負數并且省略參數的情況與字元串為正數并且省略參數的情況相似,是以就不一一列舉了。

1.5總結

當字元串切片沒有省略參數時,字元串是從開始下标開始到結束下标以步長進行切片。當開始下标省略時,開始下标預設為0。當結束下标省略時,結束下标預設為字元串長度。當步長省略時,步長預設為1。當開始下标為負數時,開始下标相當于在字元串長度加開始下标的位置。當結束下标為負數時,結束下标相當于在字元串長度加結束下标的位置。當步長為負數時,相當于下标以步長(絕對值)向右移動。注意開始下标必須小于結束下标。