6.3 数据类型进阶——集合¶
内容梗概¶
本课简要介绍集合(set),老师明确说集合可展开讲很多,但本阶段只讲一个最常见的用法——去重,其余在后续实战中逐步拓展。讲解了集合"元素唯一、无序"的特点、两种创建方式(set() 与花括号)、为什么不能用空花括号创建空集合,以及并集/交集/差集/对称差集等集合运算的存在(不逐一展开)。
知识点详解¶
集合的核心特点与去重用法(约 00:23)¶
- 集合内元素**唯一**,且**无序**保存。
- 去重套路(约 01:00):
list(set(列表))——先把列表转成集合,重复元素自动被去掉,再转回列表即得去重结果。 - 注意:由于集合无序,去重后**顺序会变化**;如需顺序可再
sort()排序恢复。 - 实际应用场景(约 02:17):例如学了文件操作之后,想知道两个文件夹(如两个存照片的文件夹 A、B)里有没有同名文件——把两边文件名用列表合并,再
set去重,得到唯一文件名清单后统一复制到新文件夹。后续会有例子带着做。
集合的创建(约 03:03)¶
set():创建**空集合**,推荐方式。{元素1, 元素2, ...}:花括号创建含元素的集合。- 不能用
{}创建空集合(约 03:25):因为字典也用花括号,且字典在 Python 中更常用,{}会被优先当作空字典而非空集合。为避免歧义,创建集合(尤其空集合)一律用set()。
集合运算(约 04:23,点到为止)¶
- 判断是否有交集、**并集、交集、差集、对称差集**等操作都支持。
- 老师未逐一演示,建议自己画两个圆(韦恩图)理解含义;后续课程用到时再展开讲。
示例与演示¶
- 用含重复名字(两个"罗翔")的列表演示:
set(列表)去重 → 再转回list→ 打印,顺序改变;可用排序恢复顺序。 - 演示花括号创建集合并用
type确认;强调{}是字典不是集合。 - (本课无完整代码练习,具体综合运用——签到名单差集的例子在 6.4 课的混合示例中演示。)
重点与难点¶
- 去重三件套:
list(set(lst)),记住顺序会乱。 {}是空**字典**不是空集合;空集合必须写set()。- 集合元素无序,不要依赖取出顺序。
- 集合运算(交/并/差/对称差集)本课只介绍概念,后续用到再展开。
关联内容¶
- 紧承 6.1 列表(去重的对象就是列表)、6.2 元组与 range。
- 与 6.4 字典紧密相关:创建语法的歧义正是因为字典也用花括号;6.4 的混合示例中用集合差集求"未签到学生名单"。
- 预告后续章节:文件操作(文件夹去重实例)、更多集合实战用法。