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