第7天:数据结构—元组(Tuple)与集合(Set)
太棒了,今天是 第7天:数据结构—元组(Tuple)与集合(Set) 。这两种数据结构在 Python 中非常重要,虽然它们和列表相似,但有一些关键的区别和应用场景。
✅ 第7天学习目标:
- ✅ 学会使用 元组(Tuple) 和理解其不可变性。
- ✅ 掌握 集合(Set) 和其基本操作。
- ✅ 理解元组和集合与列表的区别和应用场景。
一、元组(Tuple)— 不可变的序列
元组是一个不可变的序列,一旦创建后,里面的元素不能被修改、添加或删除。元组在 Python 中用 圆括号 () 来表示。
1.1 创建元组
# 创建一个空元组
empty_tuple = ()
# 创建一个包含多个元素的元组
fruits_tuple = ("苹果", "香蕉", "橙子")
print(fruits_tuple) # 输出:('苹果', '香蕉', '橙子')1.2 访问元组元素
你可以像访问列表一样,通过索引访问元组的元素。
fruits_tuple = ("苹果", "香蕉", "橙子")
print(fruits_tuple[0]) # 输出:苹果
print(fruits_tuple[-1]) # 输出:橙子1.3 元组的不可变性
元组一旦创建,就不能修改其中的元素。如果尝试修改,会报错:
fruits_tuple = ("苹果", "香蕉", "橙子")
fruits_tuple[0] = "葡萄" # ❌ 会报错:'tuple' object does not support item assignment二、集合(Set)— 无序且不重复的元素
集合是一个无序的、不可重复的元素集合。集合在 Python 中用 花括号 {} 来表示。
2.1 创建集合
# 创建一个空集合
empty_set = set()
# 创建一个包含多个元素的集合
fruits_set = {"苹果", "香蕉", "橙子"}
print(fruits_set) # 输出:{'苹果', '香蕉', '橙子'}注意: 创建一个空集合时,不能用 {},因为 {} 默认表示一个空字典。所以要使用 set()。
2.2 集合的无序性与不重复性
- 集合中的元素是无序的,不能通过索引访问。
- 集合中的元素是唯一的,重复元素会被自动去除。
fruits_set = {"苹果", "香蕉", "橙子", "香蕉"}
print(fruits_set) # 输出:{'橙子', '苹果', '香蕉'}(重复的“香蕉”被去除)2.3 集合常用操作
- 添加元素:
add() - 删除元素:
remove()或discard() - 清空集合:
clear()
fruits_set = {"苹果", "香蕉", "橙子"}
# 添加元素
fruits_set.add("葡萄")
print(fruits_set) # 输出:{'橙子', '苹果', '香蕉', '葡萄'}
# 删除元素
fruits_set.remove("香蕉")
print(fruits_set) # 输出:{'橙子', '苹果', '葡萄'}
# 清空集合
fruits_set.clear()
print(fruits_set) # 输出:set()三、元组与集合的区别
| 特性 | 元组(Tuple) | 集合(Set) |
|---|---|---|
| 是否可变 | 不可变(immutable) | 可变(mutable) |
| 是否有序 | 有序(可以通过索引访问元素) | 无序(不能通过索引访问元素) |
| 是否允许重复 | 允许重复元素 | 不允许重复元素 |
| 语法 | 使用 () 创建 | 使用 {} 或 set() 创建 |
✅ 今天的练习题
练习1:创建一个元组并访问元素
- 创建一个包含 5 个数字的元组,并输出第一个和最后一个数字。
练习2:元组元素不可变性
- 创建一个元组,尝试修改其中一个元素,观察 Python 的报错信息。
练习3:创建集合并进行操作
- 创建一个集合,包含几个水果名称。
- 向集合中添加一个新的水果。
- 删除一个水果元素,并输出当前集合。
- 清空集合,并输出结果。
练习4:集合的无序性
- 创建一个集合,添加 3 个水果(其中 2 个水果名称相同),并输出集合,观察是否有重复元素。
练习5:元组与集合的应用场景
- 思考:什么时候使用元组,什么时候使用集合?例如,你能举例说明哪些情况下元组比列表更合适,或者集合为什么比列表更有效率?
✅ 今天的任务总结(你对照检查)
今天你应该掌握了:
- ✅ 元组(Tuple):不可变的序列,适用于需要保证元素不被修改的场景。
- ✅ 集合(Set):无序且不重复的元素集合,适用于去重和集合操作。
- ✅ 理解元组和集合与列表的区别,并学会何时使用它们。
👉 现在你可以这样做:
1️⃣ 先完成这 5 个练习题
2️⃣ 如果有问题,可以把你的代码发给我,我会帮你分析和修改
3️⃣ 完成后,我们就可以进入 第 8 天:字典(Dictionary) 了!
加油,继续保持进度,快到达目标了!
相关推荐
- 第 16 天:常用第三方库(requests + pandas 入门) 2026-01-03
- 第 17 天:第一个完整综合项目实战 2026-01-03
- 第 18 天:NumPy + 高级 Pandas + 数据可视化入门 2026-01-03
- 第 19 天:机器学习入门(scikit-learn) 2026-01-03
- 第 20 天:机器学习分类模型(逻辑回归 Classification) 2026-01-03
评论0
暂时没有评论