元组是 Python 中一种不可变的数据结构,用于存储有序序列的数据。与列表类似,元组可以包含各种元素类型,包括数字、字符串、列表,甚至其他元组。然而,与列表不同,元组不能被修改。
创建元组
-
使用逗号分隔元素并用小括号括起来,如:
my_tuple = (1, "two", 3.14)
-
使用内置函数
tuple()
,如:my_tuple = tuple([1, "two", 3.14])
不可变性
元组的主要特点是其不可变性。一旦创建,元组中的元素就无法被修改、添加或删除。这使得元组非常适合存储需要被保护的数据或作为函数参数。
访问元组元素
-
使用下标,如:
my_tuple[0] # 返回第一个元素 my_tuple[-1] # 返回最后一个元素
-
使用分段,如:
my_tuple[0:2] # 返回前两个元素 my_tuple[2:] # 返回从第三个元素开始的所有元素
操作元组
尽管元组不可变,但仍有一些操作可以对它们执行:
-
拼接 (`):连接两个或多个元组,如:
new_tuple = my_tuple + (4, "five")
-
复制 (`):创建一个元组的新副本,如:
new_tuple = my_tuple[:]
-
检查成员资格 (
in
):检查一个值是否包含在元组中,如:if "two" in my_tuple: print("Found "two" in the tuple")
-
迭代:使用 for 循环或迭代器遍历元组中的元素,如:
for element in my_tuple: print(element)
元组作为函数参数
元组通常用作函数参数,因为它们是不可变的,有助于防止意外修改。函数可以使用下标或分段访问元组中的元素。
元组 vs. 列表
- 元组是不可变的,而列表是可变的。
- 元组使用小括号
()
,而列表使用方括号[]
。 - 元组的元素只能通过下标或分段访问,而列表的元素可以被修改和添加。
最佳实践
- 优先使用元组来存储需要被保护或不可变的数据。
- 考虑将包含元组的列表用作大型数据集的容器。
- 使用元组作为函数参数以确保参数的完整性。
- 避免在元组中存储对可变对象的引用,因为这样可能会导致意外修改。