三、元组(Tuple)学习笔记

三、元组(Tuple)学习笔记

2026-02-19
Python基础
type
Post
status
Published
date
Feb 19, 2026
slug
python-data-structures-tuple-notes-3
summary
今天学习了元组,发现和列表很像,但是有个重要区别——不能修改!
tags
Python数据存储容器
category
Python基础
icon
password
今天学习了元组,发现和列表很像,但是有个重要区别——不能修改!

一、什么是元组?

1.1 我的理解

元组就是不能修改的列表,用圆括号 () 表示。一旦创建,里面的元素就不能增删改了。

1.2 为什么要用元组?

问题:有些数据不应该被修改,比如坐标、身份证号、配置参数
元组的优势
  • 数据安全:防止意外修改
  • 性能更好:比列表占用内存少,访问更快
  • 可以作为字典的键(列表不行)

二、元组的特点

2.1 特点总结

特点
说明
注意点
有序
元素有固定顺序,可以索引访问
和列表一样
不可变
创建后不能增删改
这是和列表最大的区别
可重复
允许重复元素
(1, 1, 2) 是合法的
异构
可以存不同类型的数据
(1, "hello", True)

2.2 元组 vs 列表

对比
元组
列表
语法
(1, 2, 3)
[1, 2, 3]
可变性
不可变
可变
性能
更快
稍慢
内存
更少
更多
安全性
作为字典键
✅ 可以
❌ 不可以
我的理解
  • 数据会变用列表
  • 数据固定用元组
  • 不确定时用列表(更灵活)

2.3 元组的内存结构

元组内存结构示意图

三、创建元组

3.1 圆括号创建(最常用)

3.2 省略圆括号创建

3.3 tuple() 函数创建


四、元组的基本操作

4.1 索引访问

元组索引示意图

4.2 切片操作

4.3 元组拼接和重复


五、元组的不可变性

元组不可变性示意图

5.1 不可变的含义

5.2 元组中的可变元素


六、元组的组包与解包

6.1 组包(Packing)

组包过程示意图

6.2 解包(Unpacking)

解包过程示意图

6.3 组包与解包的结合使用

6.4 嵌套解包


七、元组的常用方法

常用方法表

方法
作用
示例
返回值
count()
统计元素出现次数
(1, 2, 2, 3).count(2)
2
index()
查找元素索引
(1, 2, 3).index(2)
1
len()
获取长度
len((1, 2, 3))
3
in
判断元素是否存在
2 in (1, 2, 3)
True
+
拼接元组
(1, 2) + (3, 4)
(1, 2, 3, 4)
*
重复元组
(1, 2) * 2
(1, 2, 1, 2)

八、元组的遍历

元组遍历流程图

九、实际应用案例

9.1 学生成绩管理

学生成绩数据结构

9.2 坐标点定位

9.3 颜色表示


十、遇到的问题和解决

问题1:单元素元组忘记加逗号

问题2:元组不可变的误解

问题3:解包时变量数不匹配


十一、主要是有些乱了.说真的.

  1. 创建一个包含星期一到星期日的元组,根据用户输入的数字(1-7)输出对应的星期几
  1. 交换两个变量的值,不使用临时变量(使用元组解包)
  1. 给定一个数字列表,计算并组包成元组存储(最大值,最小值,平均值)
  1. 使用元组存储学生的多门课程成绩,计算每个学生的总分和平均分
  1. 给定三个数字,使用元组组包后解包,找出其中的最大值和最小值
  1. 将两个元组合并,一个存储学生姓名,一个存储成绩,使用循环并行遍历输出
  1. 使用元组解包实现并行遍历多个列表(姓名、年龄、成绩)
推荐云服务

雨云 - 云服务器首选

稳定 · 高速 · 性价比超高

使用优惠码立享折扣,开启你的云端之旅~

一元试用秒级开通24h在线客服

优惠码

zqf
立即访问
Loading...
灵心小窝

灵心小窝

这里不是一个喧闹的地方,只是用来存放一些还不想遗忘的东西。

声明 © 2026 早清风
加载中...