Python:Tuple VS Array

tuple 和 array 的区别

在 Python 中,tuple(元组)和 array(数组)都可以存储多个值,但它们有 不同的特性和用途


📌 1. tuple(元组)

✅ 特性

不可变(Immutable):一旦创建,不能修改其中的元素。

可以存储不同数据类型(Heterogeneous):可以包含整数、字符串、列表等不同类型的元素。

内存占用小(比 list 更紧凑):由于不可变,Python 会优化其存储方式。

支持索引、切片:可以通过 tuple[index] 访问元素。

📌 例子

t = (10, "hello", 3.14)  # 元组可以包含不同类型的元素
print(t[0])  # 10
print(t[1:])  # ('hello', 3.14)

# ❌ 不能修改
# t[0] = 100  # TypeError: 'tuple' object does not support item assignment

📌 2. array(数组)

在 Python 中,array 通常指的是 array 模块中的 array.array 或 numpy.array。

✅ array.array 特性

可变(Mutable):可以修改数组的内容。

只能存储相同类型的数据(Homogeneous):所有元素必须是相同类型(如全是整数或全是浮点数)。

比 list 更高效:由于数据类型固定,存储和操作比 list 更快。