2011-11-22 28 views

回答

8

使用string[-4:]

string = "asdfPALD" 

string[-4:]就等於'PALD'

0

您可以使用 string[-4:]

這從字符串的末尾開始計數。

+0

哎呀!我固定的錯字。 – djq

0

範圍分配?

str0 = asdfPALD 
chunk = str0[len(str0)-4:] 

[:x][x:]將意味着該字符串的開頭高達指數x,或字符串的結尾下降到指數x

+0

不需要調用'len()',使用'[-4:]'就足夠了。 –

4

Python有積極的和(如聽起來奇怪)負指標。負數索引從字符串的末尾開始(如圖所示)。所以,如果我想獲得一個字符串的最後一個元素(不管字符串的長度),它將是my_string[-1]

enter image description here

要獲得Python中的字符串的slice,該sintaxis是my_string[i:j],其中i是開始索引和j是結束索引(不包括在結果j)。如果省略第一個索引(i),它將從開始(索引0)開始,並且如果省略最後一個索引(j),它將一直到字符串結束。

知道了這一點,您可以快速認爲,爲了獲取字符串的最後4個元素,你就必須做到:

my_string[-4:] 
+0

更好的例子是索引數字向左移動了半個字符寬度,以便它們與字符之間的差距對齊。讓你像切香腸串一樣 - 你在兩根香腸之間做,而不是通過一根香腸。 –

+0

不錯的建議@JohnMachin,我實際上沒有製作圖片,它在'Google Python class'中使用。 – juliomalegria

+0

如果這是一個很好的建議,爲什麼你把它弄糟,然後刪除它?圖像來源的相關性是什麼? –

0

爲了更好地理解切片的(而不是索引) ,根據切片位置而不是索引來思考是有幫助的。通過在元素之間切割來製作切片。

H e l l o 
| | | | | | 
0 1 2 3 4 5 
-5 -4 -3 -2 -1 

那麼[1:-1]生產的 「ELL」,[-4:]生產的 「ELLO」

相關問題