Python

14|集合:去重并判断成员关系

面向按顺序学习 Python 的初学者,本篇在第 11 篇知识上,帮助读者使用集合去重并完成基础集合运算。

◉ 1.2k 字◌ 8 分钟♙ 郑在混

这套课程按知识依赖排列。本篇的前置知识是:第 11 篇。学完后,你应该能够使用集合去重并完成基础集合运算。

本篇要解决的问题

本篇只处理“集合:去重并判断成员关系”这一件事。示例基于 Python 3.14.6,在 macOS 环境核验;除明确标注的终端命令外,代码本身只使用 Python 标准能力。

先看清一个容易误解的细节

集合运算保留哪些元素

交集只保留两边都有的元素,并集收集两边全部不同元素,差集只保留左侧独有元素。集合不靠位置组织数据。

核心概念

  • 集合中的元素不重复。
  • 集合是无序容器,不要依赖打印顺序或索引。
  • 创建空集合必须写 set(){} 创建的是空字典。

跟着示例运行

把下面代码保存到本课脚本并运行:

left = {"Python", "Git", "Linux"}
right = {"Python", "Docker"}

print(left & right)
print(left | right)
print("Git" in left)

预期结果:

{'Python'}
集合包含 Python、Git、Linux、Docker(显示顺序不保证)
True

输出中包含环境路径、集合元素或日志格式时,具体文字和顺序可能随本机环境变化;判断是否成功应以本篇说明的关键结果为准。

按执行顺序拆开看

  1. 集合字面量自动保证元素唯一,成员测试通常只关心“在不在”。
  2. & 计算交集,| 计算并集;结果显示顺序不应作为程序逻辑的一部分。

初学者容易混淆的地方

  • 使用 {} 创建空集合,实际得到空字典;空集合应写 set()
  • 依赖集合的显示顺序或尝试通过索引读取元素。

练习

  1. 把包含重复标签的列表交给 set() 去重。
  2. 计算两组课程标签的交集和差集。

练习应先独立完成,再通过增加 print 输出或检查文件内容观察中间状态。当前课程尚未讲到的能力,不要求提前搜索复杂写法。

本篇边界

本篇目标是使用集合去重并完成基础集合运算。没有展开的高级机制会放到后续课程;先确保能够解释示例中每一行代码,再进入下一篇。

相关文章

© 2026 郑在混知识库 · 已运行 46 天 · 豫ICP备2026037626号-1