4. 元组
元组是不可变的有序序列,一旦创建就不能修改。使用 () 创建。
python
t1 = (35, 12, 98)
t2 = ('张三', 25, True, '北京')
# 索引和切片(与列表相同)
print(t1[0]) # 35
print(t2[:2]) # ('张三', 25)
# 元组不可变
# t1[0] = 100 # TypeError!
# 单元素元组必须加逗号
a = (100) # 这是整数,不是元组
b = (100,) # 这才是元组
print(type(a)) #
print(type(b)) #
▶ 运行结果:
输出
35
('张三', 25)
<class 'int'>
<class 'tuple'>
打包与解包
python
# 打包:多个值赋给一个变量,自动成元组
a = 1, 10, 100
print(a) # (1, 10, 100)
# 解包:元组赋给多个变量
i, j, k = a
print(i, j, k) # 1 10 100
# 星号表达式:接收多余的值
a, b, *c = 1, 2, 3, 4, 5
print(a, b, c) # 1 2 [3, 4, 5]
# 变量交换(Python 特色,无需中间变量)
a, b = b, a
▶ 运行结果:
输出
(1, 10, 100)
1 10 100
1 2 [3, 4, 5]
💡 元组 vs 列表
元组创建速度比列表快约 8 倍(不可变类型更轻量)。当数据不需要修改时,优先使用元组。元组可以作为字典的键和集合的元素,列表不行。