涉及到“索引与切片”的有字符串和列表两种。参考课程连接:http://www.itdiffer.com/course/37/learn#lesson/261和http://www.itdiffer.com/course/37/learn#lesson/269
首先来熟悉下字符串:
字符串,以“python"举例,它是字符 p h t h o n 组成的,并且按照这个顺序,如果某个字符换了或者顺序换了,都会变成新的字符串。
在Python中,把像字符串这样的对象类型(包括后面提到的列表)统称为序列。(即有序排列。)字符串里的每个字符,都有编号,这个编号叫做索引。索引从0开始。指左侧第一个字符。注意,空格也是一个字符。
这样,可以用编号查看一个位置的字符,也可以通过里面的一个字符查看其编号如:
![](https://img.haomeiwen.com/i2839317/388178bcdb6dcd04.png)
下面还有一种情况,不是查看里面的一个字符,而是几个字符,这就相当于切出来一块,当然这个切对原字符串没有影响。
![](https://img.haomeiwen.com/i2839317/7a67f457bfc3e1fb.png)
切片显示规则如下:a[m:n]
如果冒号前不写数字(相当于写0),表示从字符串第一个开始,包含第一个。如果写m(m>0),表示从从第m+1个字符开始包含第m+1个字符
冒号后如果不写数字,表示到字符串的最后一个字符,包含最后一个字符。如果写数字,表示到第n个字符结束(即不包含编号为n+1的字符)
![](https://img.haomeiwen.com/i2839317/9c6e6a1ea3989a42.png)
当然编号也可以有负数。-1表示最后一个字符,-2,表示末二个字符,以此类推,切片的话依然是前面包含,后面不包含。如果正负数混用的话,也不是不可以。
![](https://img.haomeiwen.com/i2839317/97c752b0690ccd89.png)
lang = 'python'
lang[-1:-3] 实质是lang[(6-1):(6-3)]=lang[5:3]
序列都是从左向右读取,此处是从右向左读,所以返回是一个空。
![](https://img.haomeiwen.com/i2839317/1e4ded2bbe462c8b.png)
下面讲列表:列表的索引/切片与字符串类似
序列切片与字符的不同,可以多一个冒号和数字,表示步长--sql[start:end:step]
start 是开始,end是结束的索引,如果空就到末尾
step是步长如果为空,step默认为1.
网友评论