索引和切片是Python中的一個重要概念,尤其是當我們使用字串時。
索引:
WKT,字串只不過是字元序列。
因此,每個字元都有一個位置,即 index,存取它們在該特定字串中的位置稱為 indexing.
在Python中,我們有基於零的索引,即字串的第一個字元的索引(位置)為0而不是1,然後第二個字元的索引(位置)為1,依此類推。
例如,
> H E L L O W O R L D > 0 1 2 3 4 5 6 7 8 9
這被稱為正索引,因為我們只使用正數來引用索引。
你可能會問「那我們也有負面指示嗎??」
Ofc,但在這裡我們沒有將零作為第一個位置,因為它不是負數。
負索引允許我們從字符串末尾訪問字符,即最後一個字符的索引為-1,倒數第二個字符的索引為-2,依此類推。
> H E L L O W O R L D > -10 -9 -8 -7 -6 -5 -4 -3 -2 -1
word = "HELLOWORLD" print(word[0]) print(word[5]) H W
相似地,
print(word[-1]) print(word[-6]) D 0
這就是索引。
切片:
將一條繩子切片想像成從整個蛋糕上切下一片蛋糕。我們可以指定從哪裡開始切割(索引)、在哪裡結束(結束索引),甚至每個切片應該有多大(步驟)。這樣,我們就可以按照我們喜歡的方式製作蛋糕(或繩子)的較小部分!
在Python中,對字串進行切片可以讓我們透過指定字串中的起始位置和結束位置來取得字串的特定部分。
因此,例如,如果 message 包含“HELLOWORLD”,則 message[3:7] 會給出“LOWO”,因為它從索引 3 ('L') 開始,在索引 7 ('D') 之前結束。這樣,我們就可以提取我們需要的字串的任何部分!
- 切片的基本語法是,
string[start:stop]
text = "HappyBirthday" print(text[0:5]) print(text[5:13]) Happy Birthday
在Python中對字串進行切片時,我們可以簡單地省略開始或停止索引,以從字串的開頭或結尾進行切片。
就這麼簡單!
- 一步切片,
要指定Python中對字串進行切片時的字元間隔,只需新增冒號後跟步長值即可:
string[start:stop:step]
這允許控制我們在創建切片時如何跳過字串的字元。
message = "HELLOWORLD" print(message[1::2]) EORL
message[1::2] 從索引 1 ('E') 開始切片到字串末尾,步長為 2。
因此,它包括索引 1、3、5 和 7 處的字符,即「EORL」。
直到我們看到了正切片,現在讓我們了解負切片。
- 負切片:
message = "HELLOWORLD" print(message[-2:2:-1]) ROWOL
讓我們研究一下某些問題。
#編寫一個函數,它接受一個字串並傳回一個由其第一個和最後一個字元組成的新字串。
word = "Python" end = word[0] word[5] print(end) Pn
#寫一個反轉給定字串的函數。
word = "Python" print(word[::-1]) nohtyP
#給定一個字串,提取並傳回第3個到第8個字元(含)的子字串。
text = "MichaelJackson" print(text[3:9]) haelJa
#給定一個電子郵件地址,提取並返回網域名稱。
email = "[email protected]" domain = email[:-10] print(domain) hello_world
#寫一個函數,傳回給定字串中的每三個字元。
text = "Programming" print(text[::3]) Pgmn
#寫一個函數,跳過每隔一個字符,然後反轉結果字串。
text1 = "Programming" print(text1[::-2]) gimroP
#編寫一個函數,從給定字串中提取並傳回偶數索引處的字元。
text = "Programming" print(text[::2]) Pormig
好吧,這就是這裡的基本內容。
.....
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3