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

1. 索引

序列 - 图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[::]

  1. <a name="r1rvR"></a>
  2. ## 3. 序列相加
  3. 在Python中,支持两种相同类型的序列相加(adding)操作,通过“+”进行连接。
  4. <a name="tU2Cr"></a>
  5. ## 4. 乘法
  6. 在Python中,使用数字n乘以一个序列会生成新的序列。新序列的内容为原来序列被重复n次的结果。
  7. <a name="WeiAk"></a>
  8. ## 5. 检查某个元素是否是序列的成员
  9. ```python
  10. value 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()同时检索键和对应的值

  1. dicts = {"A":1,"B":2,"C":3}
  2. for k,v in dicts.items():
  3. print(k,v)

7.2 遍历一个序列

遍历一个序列,除了使用迭代器外,还可以使用enumerate()函数

  1. for i,v in enumerate(["A","B","C"]):
  2. print(i," ",v)
  3. >>>0 A
  4. >>>1 B
  5. >>>2 C

7.3 遍历多个序列

遍历多个序列,可以使用zip()函数

  1. questions = ['name', 'quest', 'favorite color']
  2. answers = ['lancelot', 'the holy grail', 'blue']
  3. for q, a in zip(questions, answers):
  4. print('What is your {0}? It is {1}.'.format(q,a))
  5. What is your name? It is lancelot.
  6. What is your quest? It is the holy grail.
  7. What is your favorite color? It is blue.

7.4 正向遍历

  1. basket = ['apple', 'orange', 'apple', 'pear', 'orange', 'banana']
  2. for i in sorted(basket):
  3. print(i)

7.5 反向遍历

  1. for i in reversed(range(1, 10, 2)):
  2. print(i)

8. 序列copy

说到**copy()**函数,则不得不说到深拷贝与浅拷贝。