Python学不会来打我(94)python序列的知识点总结
在Python中,序列(Sequence)是一种基础数据结构,具有以下核心特征和类型划分:
1. 序列的定义与特性
- 定义:序列是一块可存放多个值的连续内存空间,元素按特定顺序排列,可通过位置编号(索引)访问单个元素,类比旅店中房间与房间号的关系。
- 核心特性:有序性:元素存储顺序固定(索引从0开始)。可迭代:支持遍历操作(如for循环)。支持索引切片:通过seq[index]或seq[start:stop]访问元素。可包含重复元素:同一元素可多次出现。
2. 序列的主要类型及特点
注:集合(set)、字典(dict)虽是可迭代对象,但不属于序列,因它们无序且不支持索引切片。
3. 序列的通用操作
所有序列类型均支持以下操作:
操作类别 | 示例 | 说明 |
索引访问 | seq[0] | 获取第一个元素 |
切片 | seq[1:4] | 获取索引1~3的子序列 |
连接 | seq1 + seq2 | 合并两个序列 |
重复 | seq * 3 | 生成重复3次的新序列 |
成员检测 | x in seq | 检查元素是否存在 |
长度/最值 | len(seq), min(seq) | 获取元素数量或最小元素 |
4. 可变 vs 不可变序列对比
特性 | 可变序列(如列表) | 不可变序列(如元组、字符串) |
内存修改 | 支持原地修改元素 | 创建后不可修改 |
哈希支持 | 不可哈希 | 可哈希(元组可作字典键) |
线程安全性 | 需同步控制 | 天然线程安全 |
适用场景 | 动态数据集合 | 配置项、常量、字典键 |
5. 特殊注意事项
- 集合与字典非序列:虽可迭代,但元素无序且不支持索引切片。
- 性能取舍:频繁修改数据 → 选择列表(可变)。需哈希或线程安全 → 选择元组(不可变)。
- 空序列创建:
empty_list = [] # 列表
empty_tuple = () # 元组
empty_str = "" # 字符串
empty_bytes = b"" # 字节