序列通用操作
Python中序列包括列表list、元组tuple、字符串、Unicode字符串、buffer对象以及xrange对象六种。对于Python中的序列,有一些通用的操作,如索引、分片、加、乘、成员资格判断以及内建函数等等。
索引
序列中的元素都是有编号的,从0开始递增。我们可以使用sequence[index]
的方式访问序列中第index位置处的元素。注意index可以是正数,也可以是负数。-1表示的最后一个元素,-2表示倒数第二个元素,依次类推。举例来说:
1 | str = 'beijing' |
分片
与使用索引来访问单个元素类似,可以使用分片操作来访问一定范围内的元素,即使用sequence[start:end]
来访问序列中若干元素。关于分片有几个需要注意的点:
(1)使用sequence[start:end]
可以获取到序列中大于等于start,小于end范围内的元素。注意不包括end所在位置处的元素
(2)sequence[start:end]
中start和end可以是正数,也可以是负数。-1表示是最后一个元素所对应的索引
(3)sequence[start:end]
中start所指的元素要出现在end所指的元素的前面。否则分片的结果是一个空list
(4)sequence[start:end]
中,若start省略掉,表示从第一个元素开始。若end省略掉,表示分片直到最后一个元素结束。注意end省略,和-1的效果是不一样的哦,若为-1的话,分片的结果是不包括最后一个元素的。而end省略,是包括最后一个元素的。
(5)sequence[start:end:step]
可以使用指定的步长step来分片,步长step可以是正数,也可以是负数。如果step是正数,那么分片会从序列的头部开始向右提取元素。如果step是负数,那么分片会从序列的尾部开始向左提取元素。举例来说:
1 | elements = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] |
加
通过使用加号+可以进行序列的连接操作,举例来说:
1 | print [1, 2, 3] + [4, 5, 6] #输出[1, 2, 3, 4, 5, 6] |
乘
用序列乘以一个数字n会生成一个新的序列,而在新的序列中,原来的序列将被重复n次。举例来说:
1 | print 'python' * 2 #输出pythonpython |
成员资格判断
可以使用in
操作符,来检查一个值是否在序列中。举例来说:
1 | str = 'helloworld' |
通用的内建函数
一些Python内建函数,可以作用于序列。比如len
、min
以及max
等。举例来说:
1 | elements = [34, 56, 13] |