一、元组的定义和基础语法
1.元组定义:定义元组使用小括号,且使用逗号隔开各个数据,数据可以是不同的数据类型
2.语法
定义元组字面量:(元素,元素,......)
定义元组遍历:变量名称 = (元素,元素,......)
定义空元组:变量名称 = ()或变量名称 = tuple()
元组同列表一样,都是可以封装多个,不同类型的元素在内,但最大的不同在于:元组一旦定义完成就不可修改,但是可以修改内部list的内部值
元组也有下标,可以通过[下标]取值
二、元组的特性
1.不可变性:
元组创建后,元素本身不能修改、添加、删除(这是与列表的核心区别)。
2.有序性:
与列表一致,元素有固定顺序,支持正索引、负索引、切片(切片结果仍为元组)
3.可重复:
允许元素重复,与列表一致。
三、元组的常用操作
1. 访问元素(索引与切片)
与列表完全一致,切片返回元组
- 常用查询操作
| 方法 / 函数 | 作用 |
|---|---|
index(元素) | 返回第一个匹配元素的索引,不存在报错 |
count(元素) | 统计元素出现次数 |
len(元组) | 获取元组长度 |
in 关键字 | 判断元素是否在元组中(返回布尔值) |
四、元组 vs 列表
| 特性 | 元组 (Tuple) | 列表 (List) |
|---|---|---|
| 可变性 | 不可变(元素不可增删改) | 可变(支持增删改) |
| 语法 | 圆括号 ()(可省略) | 方括号 [] |
| 性能 | 占用内存更小,访问速度更快 | 占用内存稍大,操作灵活 |
| 哈希性 | 纯不可变元组可作为字典键 | 不可作为字典键 |
| 适用场景 | 存储固定数据、函数返回多值 | 存储动态变化的数据 |
总结:
-
元组是不可变有序序列,核心区别于列表的 “不可变性”,但元组内的可变元素(如列表)内容可修改。
-
元组支持索引、切片、遍历、解包等操作,无增删改方法;解包是元组最实用的特性之一,常用于接收函数多返回值。
-
元组适合存储固定数据(如配置、坐标),列表适合存储动态变化的数据,可根据 “是否需要修改” 选择使用。