一、定义:
Python中最基本的数据结构是序列(sequence)。序列的每个元素被分配一个序号,叫做元素的位置,也称为索引,且规定第一个索引是0,第二个是1,依次类推。在Python中包含了6种內建的序列:字符串、Unicode字符串、列表、元祖、buffer对象和xrange对象。
二、序列的通用操作:
1、索引(访问单个元素)
序列中所有元素都有编号,第一个序列规定为0,第二个为1,依次类推增加。索引的常用作用是获取元素。正数索引从左边开始计数,负数索引则从右边开始计数,且规定最右边那个元素的索引编号是-1。
>>> name = 'xiaoming'
>>> name[0]
'x'
>>> name[2]
'a'
>>> name[-1]
'g'
2、分片(访问多个元素)
分片用来获取多个元素,通过“:”来实现。第1个索引是要提取的第一个元素的编号,但要注意,最后的索引不是最后那个元素的索引,而是最后那个元素的索引+1。如果省略头或尾,则认为从头开始或到结尾结束。
分片还有第三个参数,就是步长。正数从左边开始提取元素,负数则从右边开始提取元素,但注意:当你用负数做步长时,必须让开始索引大于结束索引,否则取到空值。
>>> name[0:1]
'x'
>>> name[2:6]
'aomi'
>>> name[-3:-1]
'in'
>>> #上面无法获得最后一个元素‘g',需要提供最后一个元素的下一个元素的索引做边界,但可以省略最后元素的索引来实现:
>>> name[-3:]
'ing'
>>> name[:3]
'xia'
>>> #整个序列:
>>> name[:]
'xiaoming'
>>> #增加步长:
>>> name[0:6:2]
'xam'
>>> name[9:0:-2]
'gioi'
3、相加
通过“+”,可以将两种相同类型的序列进行连接。
>>> sex = 'male'
>>> s = name + 'is' + sex
>>> print s
xiaomingismale
4、相乘
通过“*”来实现相乘。
None是Pythond的內建值,它的确切含义是这里什么也没有,可以用None来初始化指定长度的空列表等。
>>> seq = [None] * 8
>>> print seq
[None, None, None, None, None, None, None, None]
5、成员资格
通过in运算符实现。如果返回True则存在,如果返回False则不存在。
>>> DB = [['xiaoming','123'],['xiaohong','456'],['liqiang','789']]
>>> username = raw_input('Use