Python中最基本的数据结构是序列,Python包括六种内建的序列:列表、元组、字符串、Unicode字符串、buffer对象和xrange对象。接下来 我们学习序列的通用操作。
索引
序列中的元素都是有编号的,并且从0开始。可以使用正数索引从第一个元素开始计数:
>>>greeting="How are you"
>>>greeting[1]
'o'
也可以使用负数索引从最后一个元素开始计数:
>>>greeting[-1]
'u'
分片
分片操作需要提供两个索引作为边界,第一个索引的元素包含在分片内,第二个索引的元素不包含在分片内。
>>>numbers=[1,2,3,4,5,6,7,8,9,10]
>>>numbers[3:6]
[4,5,6]
可以通过放空某一个索引或同时放空两个索引进行访问:
>>>numbers[-3:]
[8,9,10]
步长
之前的分片默认步长为1,页可以自己设置更大的步长。
>>>numbers[0:10:2]
[1,3,5,7,9]
步长不能为0,但是步长可以为负数,此时分片是从右往左提取元素,且开始点的索引大于结束点的索引。
>>>numbers[::-3]
[10,7,4,1]
序列的相加及乘法
两种相同类型的序列可以进行连接操作:
>>>[1,2]+[4,5]
[1,2,4,5]
使用数字x乘以一个序列会生成新的序列,即原来的序列重复x次:
>>>'hello' * 3
'hellohellohello'
创建占用一定空间的序列,可以使用None,None是Python的一个内建值,表示“这里什么也没有”。
>>>se=[None]*3
>>>se
[None,None,None]
成员资格
检查一个值是否在序列中,可以使用in运算符。
>>>'how' in greeting
True
长度、最大值和最小值
Python提供min、max和len内建函数,len函数返回序列所包含的元素数量,min函数与max函数分别返回序列中的最小和最大的元素,使用简单,在此不做举例。
关于通用的序列操作就学习到这里,这些操作大都不难,但是掌握好了能够派上大用处。接下来我们具体学习最常用的几种序列。