在 Python 中,元组(tuple)是一种不可变的有序序列,类似于列表(list),但有一些重要的区别。元组使用圆括号 ()
表示,而列表使用方括号 []
。以下是一些关于元组的基本特性和用法:
创建元组:
# 创建空元组
empty_tuple = ()
# 创建包含元素的元组
my_tuple = (1, 2, 3, 'hello')
# 不加括号也可以创建元组
another_tuple = 4, 5, 6
访问元组元素:
# 使用索引访问元组元素
print(my_tuple[0]) # 输出: 1
# 使用切片获取元组的子集
print(my_tuple[1:3]) # 输出: (2, 3)
不可变性:
元组是不可变的,这意味着一旦创建,就不能修改元组的内容。不能添加、删除或修改元组的元素。
# 尝试修改元组的元素,这会引发 TypeError
# my_tuple[0] = 100
# TypeError: 'tuple' object does not support item assignment
元组解包:
# 元组解包
a, b, c = my_tuple
print(a, b, c) # 输出: 1 2 3
元组方法:
元组具有一些方法,如 count()
和 index()
,用于统计元素出现的次数和获取元素的索引。
# count 方法
count_two = my_tuple.count(2)
print(count_two) # 输出: 1
# index 方法
index_three = my_tuple.index(3)
print(index_three) # 输出: 2
用途:
- 不可变性:当需要确保数据不被修改时,可以使用元组。例如,用于表示一些固定的常量值。
- 解包:元组的解包使得可以方便地将多个值赋给多个变量。
- 作为字典的键:由于元组是不可变的,可以用作字典的键,而列表不能。
coordinates = (3, 4)
points = {(0, 0): 'origin', (1, 1): 'point A', (2, 2): 'point B'}
print(points[coordinates]) # 输出: point B
总之,元组在一些场景中是更合适的数据结构,尤其在需要不可变性和元素顺序的情况下。