首頁 > 後端開發 > Python教學 > Python - 索引和切片

Python - 索引和切片

王林
發布: 2024-07-25 09:15:42
原創
320 人瀏覽過

Python - Indexing and Slicing

索引和切片是Python中的一個重要概念,尤其是當我們使用字串時。

索引:

WKT,字串只不過是字元序列。
因此,每個字元都有一個位置,即 index,存取它們在該特定字串中的位置稱為 索引.

在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 = "hello_world@gmail.com"
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
登入後複製

好了,這就是基本的內容。

.....

以上是Python - 索引和切片的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板