python有6种内建序列,包括列表、元组、字符串、Unicode字符串、buffer对象、xrange对象。
所有序列类型都可以进行某种特定的操作,这些操作包括:索引(indexing)、分片(sliceing)、加(adding)、乘(multipllying)以及检查某个元素是否属于序列的成员(成员资格)。除此之外,还有计算序列长度、找出最大元素和最小元素的内建函数。
1、索引
序列中所有元素都有自己的编号--从0开始递增。使用负数索引时,python从最后一个元素开始计数,最后一个元素的编号是-1(不是-0,因为那会和第一个元素重合)。如下示例:
>>>name = 'foxsir'
>>>name[0]'f'
>>>name[2]'x'
>>>name[-1]
'r'
>>>name[-4]
'x'
2、分片
分片通过冒号相隔的两个索引来实现,用来访问一定范围内的元素,实现提取序列。分片的操作需要提供两个索引作为边界,第一个索引的元素是包含在分片内的,而第二个不包含在分片内。
示例如下:
>>>numbers = [1,2,3,4,5,6,7,8,9,10]>>>numbers[3:6]
[4,5,6]>>>numbers[0:1]
[1]>>>numbers[:3]
[1,2,3]>>>numbers[:]
[1,2,3,4,5,6,7,8,9,10]>>>numbers[-3:]
[8,9,10]
2.1、步长
步长是分片的第三个参数,默认是1,当显式设置大于1的数字时,就会跳过某些元素,当为负值的时候,表示从右到左提取元素。示例如下:
>>>numbers[0:10:1]
[1,2,3,4,5,6,7,8,9,10]>>>numbers[::1]
[1,2,3,4,5,6,7,8,9,10]>>>numbers[0:10:2]
[1,3,5,7,9]>>>numbers[::2]
[1,3,5,7,9]>>>numbers[3:6:3]
[4]>>>numbers[::-1]
[10,9,8,7,6,5,4,3,2,1]>>>numbers[10:0:-2]
[10,8,6,4,2]>>>numbers[0:10:-2]
[]>>>numbers[::-2]
[10,8,6,4,2]
3、序列相加
通过使用加好可以进行序列的连续操作,只有相同类型的序列才能进行连接操作。示例如下:
>>>[1,2,3]+[4,5,6]
[1,2,3,4,5,6]>>>'hello,'+''world'hello,world
4、乘法
用序列乘以数字num会生成一个新的序列,而且在新的序列中,原来的序列将被重复num次。示例如下:
>>>'fox'*5
'foxfoxfoxfoxfox'
>>>[2]*5[2,2,2,2,2]
5、成员资格
in运算符是一个布尔运算符,用来检查一个值是否在序列中,在则返回True,不在则返回False。示例如下:
>>>permissions = 'rw'
>>>'w' inpermissions
True>>>'x' inpermissions
False>>>users = ['mlh','foo','bar']>>>raw_input('Enter your user name:') inusers
Enter your user name: mlh
True>>>subject = '$$$ Get rich now !!! $$$'
>>>'$$$' insubject
True
6、长度、最小值、最大值
内建函数len返回系列中包含的元素数量,min和max函数分别返回序列中最大和最小的元素。示例如下:
>>>numbers = [100,34,678]>>>len(numbers)3
>>>max(numbers)678
>>>min(numbers)34
>>>max(2,3)3