滿滿的乾貨,請君檢閱。
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...