通用序列操作
索引
序列中的元素从0开始,从左到右依自然顺序编号。这里的编号就是索引,可通过索引获取元素。所有序列都可以通过这种方式进行索引。Python的序列也可从右往左索引。
进行字符串的索引时可以定义变量也可以不定义变量。
如果函数返回一个序列,也可以直接对函数的返回结果进行索引操作。
分片
索引用来对单个元素进行访问,使用分片可以对一定范围内的元素进行访问,分片通过冒号相隔的两个索引实现。
由此看出,分片操作既支持正数索引也支持负数索引。分片操作的实现需要提供两个索引作为边界,第一个索引的元素包含在分片内,第二个索引的元素不包含在分片内。需要注意的是,只要在分片中最左边的索引比它右边的索引晚出现在序列中,结果就是一个空序列。通过负数索引取得最后一个元素有一个捷径可以使用:
正数索引也有类似操作
进行分片时,分片的开始和结束点都需要指定(无论是直接还是间接),用这种方式取连续的元素没有问题,但若要取序列中不连续的元素就比较麻烦,或不能直接操作。如取序列number中的所有奇数,以一个序列展示出来,用前面的方法并不能实现。
对于上述类似情况,python为我们提供了另一个参数——步长。在普通分片中,步长为1。
步长不能设置为0,但步长可为负数。
对于正数步长,python会从序列的头部开始向右提取元素,直到最后一个元素;对于负数步长,则是从序列的尾部开始向左提取元素,直到第一个元素。正数步长必须让开始点小于结束点,而负数步长必须让开始点大于结束点。使用负数步长时,设置第二个索引为空才能取到序列的第一个元素。