python之索引和切片


在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'
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章