1. 集合是什么? #

# 创建包含三个标签的集合
tags = {"python", "web", "api"}
# 重复元素会自动去重,输出 {1, 2, 3}
print({1, 2, 2, 3})

2. 创建集合 #

# 用花括号创建含三个整数的集合
nums = {1, 2, 3}
# 空集合必须用 set(),{} 是空字典
empty = set()

# 从列表去重(项目里很常见)
ids = [1, 2, 2, 3, 3]
# 先转 set 去重,再转回 list
unique_ids = list(set(ids))

3. 增删与查询 #

方法 作用
add(x) 添加一个元素
update(iterable) 批量添加
discard(x) 删除元素,不存在也不报错
remove(x) 删除元素,不存在抛 KeyError
# 创建初始集合
s = {"a", "b"}
# 添加元素 "c"
s.add("c")
# 检测 "a" 是否在集合中,成员检测很快
print("a" in s)
# 安全删除 "a",不存在也不报错
s.discard("a")
# 再次检测 "a" 是否还在集合中
print("a" in s)
# 输出当前集合元素个数
print(len(s))

4. 集合运算 #

# 用户浏览过的页面
viewed = {"home", "cart", "pay"}
# 用户已购买的页面
purchased = {"cart", "pay"}

# 并集:两个集合的所有元素
print("并集:", viewed | purchased)
print("并集 (union):", viewed.union(purchased))

# 交集:两个集合共有的元素
print("交集:", viewed & purchased)
print("交集 (intersection):", viewed.intersection(purchased))

# 差集:在 viewed 中但不在 purchased 中的元素
print("差集:", viewed - purchased)
print("差集 (difference):", viewed.difference(purchased))

# 对称差:只在其中一个集合中的元素
print("对称差:", viewed ^ purchased)

5. 遍历 #

# 逐个遍历集合中的每个标签
for tag in tags:
    print(tag)

6. 列表 vs 集合:何时用 #

需求 用
有序、可重复、按索引 列表
去重、快速 in 判断 集合
并/交/差运算 集合

7. 项目开发要点 #