在 Python 中,tuple(元组)是一种有序、不可变的数据结构,和 list(列表)很像,但不能修改。(tuple所谓的“不变”是说,tuple的每个元素指向永远不变。即指向’a’,就不能改成指向’b’,指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!)
1. 基本用法
操作 | 示例代码 | 说明 |
---|
创建 | t = (1, 2, 3) | 多个元素,用小括号 |
空 tuple | t = () | 没有任何元素 |
单元素 tuple | t = (1,) | 记得加逗号,否则是整数 |
访问元素 | t[0] , t[-1] | 支持正向/反向索引 |
嵌套元素 | t = ('a', [1, 2]) | 元组中可以包含 list 等对象 |
2. 注意事项
注意点 | 示例 | 解释 |
---|
不可变性 | t[0] = 'x' → ❌ 报错 | 元素不能被修改 |
只读特性 | 无 append() 、insert() 等 | 不支持增删操作 |
可变元素陷阱 | t = (1, [2, 3]) | list 内部可以修改,不违背 tuple 不变性 |
单元素歧义 | t = (1) 是整数 | t = (1,) 才是 tuple |
3. 适用场景对比
场景 | 推荐类型 |
---|
数据需要频繁修改 | list |
数据固定、只读更安全 | tuple |
用作字典 key / 集合元素 | tuple |
4.总结
tuple = 只读版 list,安全且高效。能用 tuple,就别用 list。