序列相当于容器类型,包括字符串、列表、元组、字典、集合,其中除字符串之外的序列的元素类型可以不一致。
1. 索引

在采用负数作为索引值时,是从−1开始的,而不是从0开始的,即最后一个元素的下标为−1,这是为了防止与第一个元素重合。
2. 切片
**sname[start:end:step]**
参数说明如下:
**sname**:表示序列的名称**start**:表示切片的开始位置(包括该位置),如果不指定,则默认为0;**end**表示切片的结束位置(不包括该位置),如果不指定,则默认为0;**step**:表示切片的步长,默认为1,正数代表从左往右,负数代表从右往左。 ```python 0 1 2 3 4 5 a b c d e f -6 -5 -4 -3 -2 -1
s = “abcdef”
s1 = s[::]
<a name="r1rvR"></a>## 3. 序列相加在Python中,支持两种相同类型的序列相加(adding)操作,通过“+”进行连接。<a name="tU2Cr"></a>## 4. 乘法在Python中,使用数字n乘以一个序列会生成新的序列。新序列的内容为原来序列被重复n次的结果。<a name="WeiAk"></a>## 5. 检查某个元素是否是序列的成员```pythonvalue in sequence
value表示要检查的元素; sequence表示指定的序列。
6. 序列有关的内建函数
| 函数 | 说明 |
|---|---|
| len(sequence) | 求序列的长度 |
| max(sequence) | 返回序列中的最大元素 |
| min(sequence) | 返回序列中的最小元素 |
| list(sequence) | 将序列转化为列表 |
| str(sequence) | 将序列转化为字符串 |
| tuple(sequence) | 将序列转化为元组 |
| set(sequence) | 将序列转化为集合 |
| sum(sequence) | 计算元素和 |
| sorted(sequence) | 对元素进行排序 |
| reversed(sequence) | 反向序列中的元素 |
| enumerate(sequence) | 将序列组合为一个索引序列,多用在for循环中 |
7. 序列的遍历
7.1 遍历字典
遍历字典的话,需要使用items()同时检索键和对应的值
dicts = {"A":1,"B":2,"C":3}for k,v in dicts.items():print(k,v)
7.2 遍历一个序列
遍历一个序列,除了使用迭代器外,还可以使用enumerate()函数
for i,v in enumerate(["A","B","C"]):print(i," ",v)>>>0 A>>>1 B>>>2 C
7.3 遍历多个序列
遍历多个序列,可以使用zip()函数
questions = ['name', 'quest', 'favorite color']answers = ['lancelot', 'the holy grail', 'blue']for q, a in zip(questions, answers):print('What is your {0}? It is {1}.'.format(q,a))What is your name? It is lancelot.What is your quest? It is the holy grail.What is your favorite color? It is blue.
7.4 正向遍历
basket = ['apple', 'orange', 'apple', 'pear', 'orange', 'banana']for i in sorted(basket):print(i)
7.5 反向遍历
for i in reversed(range(1, 10, 2)):print(i)
8. 序列copy
说到**copy()**函数,则不得不说到深拷贝与浅拷贝。
