python - 元组常用操作

元组(Tuple)是 Python 中的一种不可变序列类型,一旦创建后其元素不能修改。以下是元组的常用操作及示例:


1. 创建元组

  • 直接定义:用逗号分隔元素,括号可选(但建议加括号)。

    ini 复制代码
    python
    t1 = (1, 2, 3)          # 普通元组
    t2 = 1, 2, 3            # 省略括号的元组(不推荐,易混淆)
    t3 = ()                 # 空元组
    t4 = (5,)               # 单元素元组(必须加逗号)
  • 类型转换 :通过 tuple() 将其他可迭代对象转为元组。

    ini 复制代码
    python
    list_data = [4, 5, 6]
    t5 = tuple(list_data)    # 结果: (4, 5, 6)

2. 访问元素

  • 索引访问:从 0 开始,支持负索引(从 -1 开始)。

    python 复制代码
    t = ('a', 'b', 'c')
    print(t[0])    # 输出: 'a'
    print(t[-1])   # 输出: 'c'
  • 切片操作:返回子元组。

    python 复制代码
    t = (1, 2, 3, 4, 5)
    print(t[1:3])  # 输出: (2, 3)
    print(t[::2])  # 输出: (1, 3, 5)

3. 元组拼接与重复

  • 拼接 :用 + 连接两个元组。

    python 复制代码
    t1 = (1, 2)
    t2 = ('a', 'b')
    t3 = t1 + t2  # 结果: (1, 2, 'a', 'b')
  • 重复 :用 * 重复元素。

    python 复制代码
    t = (1, 2) * 3  # 结果: (1, 2, 1, 2, 1, 2)

4. 判断元素是否存在

  • 使用 innot in

    python 复制代码
    t = ('x', 'y', 'z')
    print('y' in t)    # 输出: True
    print('a' not in t) # 输出: True

5. 元组长度与统计

  • 长度len() 获取元素数量。

    python 复制代码
    t = (1, 2, 3, 3)
    print(len(t))  # 输出: 4
  • 统计次数count() 统计某元素出现次数。

    python 复制代码
    print(t.count(3))  # 输出: 2
  • 查找索引index() 返回元素首次出现的索引(不存在时报错)。

    python 复制代码
    print(t.index(2))  # 输出: 1

6. 遍历元组

  • 直接遍历或通过索引遍历。

    python 复制代码
    t = ('a', 'b', 'c')
    for item in t:
        print(item)  # 输出: a, b, c
     
    for i in range(len(t)):
        print(t[i])  # 同上

7. 元组解包(Unpacking)

  • 将元组元素赋值给多个变量。

    python 复制代码
    t = (10, 20, 30)
    x, y, z = t
    print(x, y, z)  # 输出: 10 20 30
  • 带星号的解包:捕获剩余元素。

    python 复制代码
    first, *rest = (1, 2, 3, 4)
    print(first, rest)  # 输出: 1 [2, 3, 4]

8. 元组与列表的转换

  • 元组 → 列表list()

    python 复制代码
    t = (1, 2, 3)
    lst = list(t)  # 结果: [1, 2, 3]
  • 列表 → 元组tuple()(见创建元组部分)。


9. 元组的不可变性

  • 元组创建后不能修改、删除或添加元素,否则会报错:

    python 复制代码
    t = (1, 2, 3)
    t[0] = 10  # 报错: TypeError: 'tuple' object does not support item assignment

10. 其他操作

  • 比较:元组支持比较操作(按字典序)。

    python 复制代码
    t1 = (1, 2, 3)
    t2 = (1, 2, 4)
    print(t1 < t2)  # 输出: True
  • 内置函数 :如 max(), min(), sum() 等。

    python 复制代码
    t = (10, 20, 5)
    print(max(t))  # 输出: 20

为什么使用元组?

  1. 不可变性:适合存储不应被修改的数据(如配置、常量)。
  2. 性能优化:比列表更轻量,遍历速度更快。
  3. 安全性:作为字典的键(列表不可哈希,元组可哈希)。
  4. 函数返回多个值:Python 函数通过返回元组实现多返回值。
相关推荐
花酒锄作田9 小时前
Pydantic校验配置文件
python
hboot10 小时前
AI工程师第四课 - 深度学习入门
pytorch·python·神经网络
ZhengEnCi20 小时前
P2M-Matplotlib折线图完全指南-从数据可视化到趋势分析的Python绘图利器
python·matlab·数据可视化
ZhengEnCi1 天前
P2L-Matplotlib饼图完全指南-从数据可视化到图表定制的Python绘图利器
python·matlab
曲幽1 天前
你的REST接口还在“过度投喂”数据吗?——FastAPI + GraphQL实战避坑指南
python·fastapi·web·graphql·route·cors·rest·strawberry
用户8358086187911 天前
基于 Self-RAG 与列表级重排序的进阶 RAG 系统设计与实现
python
Warson_L2 天前
Python `Annotated` 与 LangGraph Reducer 学习笔记
python
韩师傅2 天前
海天线算法的前世今生
python·计算机视觉
韩师傅2 天前
当你的甲方设备过烂,要如何快速出效果?
python·计算机视觉
Warson_L2 天前
LangGraph的MessageState and HumanMessage
python