在Python中,所有的字符串都是由其單個的字符排列組合起來的。
比如【Python】就是有p,y,t,h,o,n排列起來的。
字符串中的某一個字符一換,就變成一個了新的字符串。
字符串中的順序一換,也變成了一個新字符串。
在Python中,這種對象類型,統稱爲序列,即有序排列。
索引和切片
索引
序列上的每一個字符都對應一個編號,這些編號叫索引。
python中的編號排序是從0開始的,以自然數排列的,其中的空格也算一位。
例如
>>>lang = "study python" lang[0] 's' >>>lang[1] 't'
通過賦值變量,讓變量lang來指向那個字符串。
這這個lang的指向變量,也可以這樣寫。
>>>"study python"[0] 's'
效果是一樣的,只是後面再指向需要把字符串寫全,所以賦值給lang變量比較方便。
也可以通過字符找到其所對應的索引值。
如下
>>>lang = "study python" lang.index("h") 9
切片
從序列中提取從第幾位到第幾位所對應的字符。
如下:
>>>lang = "study python" >>>lang 'studuy python' >>>lang[2:8] #在前面“切“了若干的字符之後 'udy py'
我們得到的是序號分別對應着2,3,4,5,6,7(包括空格所對應的一位)位的字符。
能夠得到的是開始需要的以及最後一個序號之前所對應的字符。簡單說就是:包括開頭,不包括結尾。
上述操作,我們稱之爲切片,即從一段序列中截取第n位到(k-1)位所對應的字符。
在獲取切片時,如果分號的前面或者後面的序號不寫,就表示是到最末或者是第0個開始。
如下
規則
1.要得到從第n位到最末尾的字符,符號後面的序號不用寫。
【lang[n:]】
2.要得到所有字符,直接用一個分號
【[:]】
3.得到從0個字符到(n-1)個字符。
【[:n]】
>>>lang = 'study python' a = lang[2:]#得到從2號到最末尾的字符,這時候最後那個不用寫。 b = lang[:]#得到所有字符 c = lang[:10]#得到從第0位到第9位的字符 >>>a 'udy python' >>>b 'study python' >>>c 'study pyt'