15 分钟
Python 入门

集合

掌握集合的唯一性和集合运算

  • 创建集合
  • 集合自动去重
  • 交集并集差集运算

创建集合

集合用花括号 {} 或 set() 定义,元素不重复、无序。

示例代码(可运行)

集合运算

示例代码(可运行)

添加和删除

示例代码(可运行)
💡集合的用途

快速去重:set(list)成员测试:x in set 比 list 快得多数学运算:交集、并集。

预测输出
a = {1, 2, 3}
b = {2, 3, 4}
print(a & b)
print(a | b)
找 Bug{} 创建的是空字典,不是空集合!空集合只能用 set() 来创建。
s = {} s.add(1)
填空题填写空白处的代码
a = {1, 2, 3} b = {2, 3, 4} print(a b) # 交集
选择题

set([1,1,2,2,3]) 的结果是?

选择题

集合 {1,2,2,3} 实际有几个元素?

资深工程师加餐

底层原理 · 大厂视角 · 工程经验,点卡片展开

Python 里整数、字符串甚至函数都是对象,堆在内存里;变量不是装东西的盒子,而是一张贴在对象上的「名字标签」(引用)。id(x) 看对象身份,is 比身份、== 比值。CPython 会缓存 -5~256 的小整数,所以 a=1;b=1 时 a is b 为 True,但 a=300;b=300 未必。结论:判断值是否相等永远用 ==,判断是不是 None 才用 is。

挑战任务

列表去重

简单+50 XP

用集合对列表去重并排序输出。

列表去重
2 个测试用例

课后作业

共同好友

中等+20 XP

用集合找出两个好友列表的共同好友。

共同好友
1 个测试用例