Python元组:不可变但灵活的数据容器
Python元组是一种不可变但功能灵活的数据容器,具有以下核心特性:
不可变性:创建后内容不可修改(内存地址不变)
有序存储:保持元素插入顺序,支持索引访问
异构数据:可存储不同类型的数据对象
性能优势:比列表操作更快,内存占用更小
典型应用场景:
数据字典的键(因可哈希)
函数多返回值封装
保护数据不被修改的场景
固定格式数据记录(如坐标点)
与列表的核心差异:
语法使用圆括号()而非方括号[]
单元素元组需加逗号:(1,)
不支持append()/remove()等修改方法
支持拆包操作:x, y = (10, 20)
高级技巧:
python
Copy Code
# 元组拆包
coordinates = (120.35, 36.08)
longitude, latitude = coordinates
# 命名元组(collections.namedtuple)
from collections import namedtuple
Point = namedtuple('Point', ['x', 'y'])
p = Point(11, y=22)
print(p.x) # 11
# 作为字典键
locations = {(35, 139): "Tokyo", (40, -74): "New York"}
注意:虽然元组本身不可变,但若包含可变对象(如列表),其内容仍可修改。实际开发中应根据业务需求选择合适的数据结构。