一、序列概述
在python中,最基本的数据结构是序列(sequence)。序列中的每个元素被分配一个序号——即元素的位置,也成为索引。
二、序列分类
python包括6中内建的序列,最常用的的两种类型是:序列和元组。其他的序列有字符串、Unicode字符串、buffer对象和xrange对象。
其中,列表和元组的主要区别在于:列表是可以被修改的,而元组则不可以。
三、序列通用操作
1.索引
索引就是列表里的元素的位置标识。正向索引从0开始,逆向索引从-1开始。
>>> x = 'Hello'
>>> x[0]
'H'
>>> x[-1]
'o'
>>>
2.分片
对序列分片可以按特定步长(两个被取出元素之间的索引之差)取出序列中的特定元素。有正向分片和逆向分片。
>>> x = 'Hello' #取出从索引为0到索引为4(不包括4)的元素之间的所有元素(默认步长为1)
>>> x[0:4]
'Hell'
>>>
>>> x = 'Hello' #取出从索引为0到索引为4(不包括4)的元素之间的所有元素(步长为2)
>>> x[0:4:2]
'Hl'
>>>
>>> x = 'Hello' #逆向分片必须手动指定步长为负数
>>> x[4:0:-1]
'olle'
>>>
注意:正向分片前索引要小于后索引,逆向分片前索引要大于后索引。3.序列相加
序列相加,其实就是将两个序列连接在一起。但是必须要是相同类型的两个序列才可以。
>>> [1,2,3] + [4,5,6]
[1, 2, 3, 4, 5, 6]
>>>
>>> [1,2,3] + 'Hello'
Traceback (most recent call last):
File "<pyshell#37>", line 1, in <module>
[1,2,3] + 'Hello'
TypeError: can only concatenate list (not "str") to list
>>>
4.乘法
序列乘法就是让序列重复某次。
>>> 'python' * 4
'pythonpythonpythonpython'
>>>
5.成员资格
检查一个元素是否在序列中,可以用in运算符。元素在序列中,返回True布尔值,否则,返回False。
>>> x = 'python'
>>> 'p' in x
True
>>> 'a' in x
False
>>>
6.长度、最小值和最大值
python有len()、min()和max()三个内建函数,可以计算序列的长度,序列中的最小值和最大值。
>>> numbers = [1,4,2,3]
>>> len(numbers)
4
>>> min(numbers)
1
>>> max(numbers)
4
>>>