python三種方式訪問字串中的值

2021-10-06 05:41:38 字數 4692 閱讀 8282

滿滿的乾貨,請君檢閱。

1、使用「 索引下標」 訪問,下標從[0]開始

不解釋,看例子

>>> str_1="badianganghuo"

>>> print(str_1[0])

b>>> print(str_1[9])g​

>>> str="扒點剛貨"

>>> print(str[0])

>> print(str[3])

2、使用「 切片」 操作示例:[start:stop:step]

start :需要獲取的字串的開始位置(包括該位置的值),預設為 0 ,省略不寫時表示從0開始。

stop :需要獲取的字串的結束位置(不包括該位置的值),省略不寫時表示到末尾結束。

step :步長,預設為 1,當 start 大於 stop 時,step 為負數。 正整數表示從左向右擷取,負整數表示從右向左擷取。

字串的下標值展示:

例項①展示:

str="badianganghuo"

​ #從左向右,從開頭"b"到結尾"o",都包括

print("str[:]表示:",str[:])

​#從左向右,從開頭"b"到下標為「-1」的"o",且不包括「-1」

print("str[:-1]表示:",str[:-1])

​#從左向右,從開頭"b"到結尾"o",都包括

print("str[::]表示:",str[::])

​#從左向右,從開頭"b"到結尾"o",都包括

print("str[::1]表示:",str[::1])

​#從右向左,從開頭"0"到"b",都包括

print("str[::-1]表示:",str[::-1])

執行結果:

str[:]表示:badianganghuo

str[:-1]表示:badianganghu

str[::]表示:badianganghuo

str[::1]表示:badianganghuo

str[::-1]表示:ouhgnagnaidab

例項②展示:

print()

print("-----badianganghuo-----")

print(str[0:13])

print(str[0:13:1])

print(str[-1:-14:-1])

執行結果:

-----badianganghuo-----

badianganghuo

badianganghuo

ouhgnagnaidab

例項③展示

print("-----bdagnho-----")

print(str[::2])

​print("-----ohngadb-----")

print(str[::-2])

​print("-----ouhgnagnaidab-----")

print(str[::-1])

print(str[-1:-14:-1])

執行結果:

-----bdagnho-----

bdagnho

​-----ohngadb-----

ohngadb

​-----ouhgnagnaidab-----

ouhgnagnaidab

ouhgnagnaidab

例項④展示:

print("-----iangang-----")

print(str[3:10])

print(str[3:-3])

print(str[3:10:1])

print(str[3:-3:1])

​print(str[-10:-3])

print(str[-10:-3:1])

print(str[-10:10:1])

​print(str[9:2:-1])

print(str[-4:2:-1])

print(str[9:-11:-1])

print(str[-4:-11:-1])

執行結果:

-----iangang-----

iangang

iangang

iangang

iangang

iangang

iangang

iangang

gnagnai

gnagnai

gnagnai

gnagnai

例項⑤展示:

print("-----gnagna-----")

print(str[9:3:-1])

print(str[-4:3:-1])

print(str[9:-10:-1])

print(str[-4:-10:-1])

執行結果:

-----gnagna-----

gnagna

gnagna

gnagna

gnagna

3、使用「 for迴圈」利用for迴圈可以訪問整個字串。

例項①展示:

str="badianganghuo"

for i in str:

#此時的i不作為下標

print(i,end="")

執行結果:

badianganghuo
可以直接去看最後結論了。例項②展示:

str="badianganghuo"

print("-----huo-----")

for i1 in str:

if i1 == 'h':

for i2 in str:

if i2 == 'u':

for i3 in str:

if i3 == 'o':

print(i1+i2+i3)

執行結果:

-----huo-----

huo

字串"badianganghuo"中,因為"h",「u」,"o"都只有乙個,沒有出錯。

例項③展示:

str="badianganghuo"

print("-----gan-----")

for i1 in str:

if i1 == 'g':

for i2 in str:

if i2 == 'a':

for i3 in str:

if i3 == 'n':

print(i1+i2+i3)

執行結果:

-----gan-----

gangan

gangan

gangan

gangan

gangan

gangan

字串"badianganghuo"中,「g」,「a」,"n"分別出現了2,3,2次,所以輸出了12次,顯然for迴圈,對擷取字串部分不適用。

4、使用「 split()函式」

split() 函式通過指定的分隔符對字串進行切片處理,引數 num 預設為-1,表示分隔所有,返回分隔後的字串列表。

如果引數 num 有指定值,則分隔 num+1 個子字串,等同於一刀兩段,兩刀三段。

**展示:

str="badianganghuo"

print(str.split())

​print("-----huo-----")

str_1 = str.split('g',2)

print(str_1)

print(str_1[2])

​print("-----gang-----")

str_2 = str.split('n',2)

print(str_2)

print(str_2[1])

執行結果:

['badianganghuo']

-----huo-----

['badian', 'an', 'huo']

huo-----gang-----

['badia', 'ga', 'ghuo']

ga

split()方法可用於訪問部分字串,但返回的是字串列表。

正規表示式也可以訪問字串,這期不做討論。

綜上:訪問字串,可以使用「索引下標」,「切片操作」,「for迴圈」,其中「切片操作」功能最齊全。

字串的三種儲存方式

目錄在資料結構中,字串要單獨用一種儲存結構來儲存,稱為串儲存結構。這裡的串指的就是字串。無論學習哪種程式語言,操作最多的總是字串。我們平常使用最多的儲存結構無疑是利用定長陣列儲存。但是這種儲存結構需要提前分配空間,當我們不知道字串長度的時候,過大的分配記憶體無疑是一種浪費。因此,合理的選擇字串的儲存...

python字串格式化三種方式

字串格式化在輸出到終端或檔案中是很有用的,可以給人一種閱讀的美感,下面介紹一下python的三種字串格式化的三種方法 第一種 使用佔位符tester xiaogu programmer laopan print abc s,s tester,programmer 輸出 abc xiaogu,laop...

c 遍歷字串的三種方式

就以 把字串 1234 轉換為整形1234,為例來說明遍歷字串的三種方式 常規方式 下標 operator include include include include using namespace std int strtoint1 string str return value int ma...