Python 元组 (Tuple)
元组是另一种在 Python 中非常重要的数据序列类型。它与列表非常相似,但有一个关键的区别:元组是不可变的 (immutable)。
什么是元组?
元组是一个有序且不可变的集合。一旦创建,你无法修改、添加或删除元组中的元素。
创建元组
元组由小括号 () 定义,其中的元素用逗号 , 分隔。
注意:创建只包含一个元素的元组
如果你想创建一个只包含一个元素的元组,你必须在该元素后面加上一个逗号 ,。
访问元组元素
访问元组元素的方式与列表完全相同,通过索引和切片。
元组是不可变的
这是元组与列表最核心的区别。任何试图修改元组的操作都会导致 TypeError。
为什么使用元组?
既然列表功能更全,为什么还需要元组?
-
数据完整性:由于元组不可变,你可以确保其内容在程序运行过程中不会被意外修改。这使得代码更安全、更可预测。非常适合用作常量集合。
-
性能优化:通常情况下,元组的处理速度比列表稍快,占用的内存也更少。
-
可作为字典的键:因为元组是不可变的(可哈希的),所以它可以作为字典的键。列表是可变的,不能作为字典的键。
元组方法
由于不可变,元组的方法很少,只有两个:
tuple.count(x): 返回元素x在元组中出现的次数。tuple.index(x): 返回元素x在元组中首次出现的索引。
元组解包 (Tuple Unpacking)
这是一个非常方便和 Pythonic 的特性,允许你将元组中的元素赋值给多个变量。
这个特性在函数返回多个值时特别有用,因为函数返回的多个值实际上是被打包成一个元组返回的。