Python元组:不可变但灵活的数据容器
元组(tuple)是Python中一种不可变(immutable)但功能灵活的有序集合数据类型,具有以下核心特性:
一、基本特性
不可变性:创建后不能修改元素(增删改操作均不允许)
有序存储:元素按插入顺序保存,可通过索引访问
异构数据:可存储不同类型的数据(整数、字符串、对象等混合)
内存优化:比列表(list)占用更少内存空间
二、典型应用场景
数据保护:确保关键数据不被意外修改
字典键值:可作为字典的键(列表不能)
函数多返回值:打包返回多个值
性能敏感场景:替代列表提升执行效率
三、高级用法示例
python
# 1. 解包操作
coordinates = (118.78, 32.04)
longitude, latitude = coordinates # 自动解包
# 2. 命名元组
from collections import namedtuple
Product = namedtuple('Product', ['name', 'price', 'stock'])
item = Product('iPhone15', 6999, 100)
print(item.name) # 通过字段名访问
# 3. 元组推导式
squares = tuple(x**2 for x in range(10))
# 4. 作为函数参数
def connect(*args):
print(f"连接参数: {args}")
connect('127.0.0.1', 3306, 'root', 'password')
四、与列表的性能对比
操作类型 元组 列表
创建速度 快约5% 稍慢
遍历速度 基本相同 基本相同
内存占用 较少 较多
修改操作 不支持 支持
五、最佳实践建议
优先使用元组存储不应修改的数据集合
大量只读数据使用元组可提升程序性能
需要哈希(hash)处理的数据必须使用元组
当需要频繁修改数据时仍应选择列表