元组(Tuple)是 Python 中的一种不可变序列类型,一旦创建后其元素不能修改。以下是元组的常用操作及示例:
1. 创建元组
-
直接定义:用逗号分隔元素,括号可选(但建议加括号)。
inipython t1 = (1, 2, 3) # 普通元组 t2 = 1, 2, 3 # 省略括号的元组(不推荐,易混淆) t3 = () # 空元组 t4 = (5,) # 单元素元组(必须加逗号)
-
类型转换 :通过
tuple()
将其他可迭代对象转为元组。inipython list_data = [4, 5, 6] t5 = tuple(list_data) # 结果: (4, 5, 6)
2. 访问元素
-
索引访问:从 0 开始,支持负索引(从 -1 开始)。
pythont = ('a', 'b', 'c') print(t[0]) # 输出: 'a' print(t[-1]) # 输出: 'c'
-
切片操作:返回子元组。
pythont = (1, 2, 3, 4, 5) print(t[1:3]) # 输出: (2, 3) print(t[::2]) # 输出: (1, 3, 5)
3. 元组拼接与重复
-
拼接 :用
+
连接两个元组。pythont1 = (1, 2) t2 = ('a', 'b') t3 = t1 + t2 # 结果: (1, 2, 'a', 'b')
-
重复 :用
*
重复元素。pythont = (1, 2) * 3 # 结果: (1, 2, 1, 2, 1, 2)
4. 判断元素是否存在
-
使用
in
或not in
。pythont = ('x', 'y', 'z') print('y' in t) # 输出: True print('a' not in t) # 输出: True
5. 元组长度与统计
-
长度 :
len()
获取元素数量。pythont = (1, 2, 3, 3) print(len(t)) # 输出: 4
-
统计次数 :
count()
统计某元素出现次数。pythonprint(t.count(3)) # 输出: 2
-
查找索引 :
index()
返回元素首次出现的索引(不存在时报错)。pythonprint(t.index(2)) # 输出: 1
6. 遍历元组
-
直接遍历或通过索引遍历。
pythont = ('a', 'b', 'c') for item in t: print(item) # 输出: a, b, c for i in range(len(t)): print(t[i]) # 同上
7. 元组解包(Unpacking)
-
将元组元素赋值给多个变量。
pythont = (10, 20, 30) x, y, z = t print(x, y, z) # 输出: 10 20 30
-
带星号的解包:捕获剩余元素。
pythonfirst, *rest = (1, 2, 3, 4) print(first, rest) # 输出: 1 [2, 3, 4]
8. 元组与列表的转换
-
元组 → 列表 :
list()
。pythont = (1, 2, 3) lst = list(t) # 结果: [1, 2, 3]
-
列表 → 元组 :
tuple()
(见创建元组部分)。
9. 元组的不可变性
-
元组创建后不能修改、删除或添加元素,否则会报错:
pythont = (1, 2, 3) t[0] = 10 # 报错: TypeError: 'tuple' object does not support item assignment
10. 其他操作
-
比较:元组支持比较操作(按字典序)。
pythont1 = (1, 2, 3) t2 = (1, 2, 4) print(t1 < t2) # 输出: True
-
内置函数 :如
max()
,min()
,sum()
等。pythont = (10, 20, 5) print(max(t)) # 输出: 20
为什么使用元组?
- 不可变性:适合存储不应被修改的数据(如配置、常量)。
- 性能优化:比列表更轻量,遍历速度更快。
- 安全性:作为字典的键(列表不可哈希,元组可哈希)。
- 函数返回多个值:Python 函数通过返回元组实现多返回值。