上一篇
在Python集合(set)是处理无序且不重复元素的强大工具。无论你是编程新手还是希望巩固基础的开发者,本教程将带你从零开始,全面了解集合数据结构的核心概念、常用操作及实际应用场景。

set 是 Python 内置的一种无序、可变、元素唯一的数据结构。这意味着:
有多种方式可以创建一个集合:
# 方法1:使用花括号 {}(注意:空花括号 {} 创建的是字典,不是集合!)my_set = {1, 2, 3, "hello"}# 方法2:使用 set() 构造函数my_set2 = set([1, 2, 2, 3]) # 自动去重 → {1, 2, 3}empty_set = set() # 创建空集合print(my_set) # 输出可能为 {1, 2, 3, 'hello'}(顺序不定)print(my_set2) # 输出 {1, 2, 3}print(empty_set) # 输出 set()⚠️ 注意:空集合必须用set()创建,{}表示空字典!
以下是日常开发中最常用的集合操作:
s = {1, 2, 3}# 添加单个元素s.add(4)print(s) # {1, 2, 3, 4}# 删除元素(若元素不存在会报错)s.remove(2)print(s) # {1, 3, 4}# 安全删除(不存在也不报错)s.discard(99)print(s) # {1, 3, 4}# 随机弹出一个元素popped = s.pop()print(popped, s) # 例如:1 {3, 4}集合最强大的功能之一是支持数学中的集合运算:
a = {1, 2, 3, 4}b = {3, 4, 5, 6}# 并集(所有元素)union = a | b # 或 a.union(b)print("并集:", union) # {1, 2, 3, 4, 5, 6}# 交集(共同元素)intersection = a & b # 或 a.intersection(b)print("交集:", intersection) # {3, 4}# 差集(a 有但 b 没有)diff = a - b # 或 a.difference(b)print("差集:", diff) # {1, 2}# 对称差集(只在一个集合中出现的元素)sym_diff = a ^ b # 或 a.symmetric_difference(b)print("对称差集:", sym_diff) # {1, 2, 5, 6}假设你有两个用户列表,想找出共同好友或去重合并,Python set教程中的这些技巧非常实用:
# 去除重复数据emails = ["a@example.com", "b@example.com", "a@example.com", "c@example.com"]unique_emails = list(set(emails))print(unique_emails) # ['a@example.com', 'b@example.com', 'c@example.com'](顺序可能不同)# 找出两个班级的共同学生class_a = {"Alice", "Bob", "Charlie"}class_b = {"Bob", "David", "Eve"}common_students = class_a & class_bprint("共同学生:", common_students) # {'Bob'}通过本教程,你已经掌握了 Python集合 的基本用法、核心操作和典型应用场景。记住:集合数据结构特别适合需要快速去重、成员检测或进行集合运算的场景。相比列表,集合的查找效率更高(平均 O(1) 时间复杂度)。
现在,你可以自信地在项目中使用集合来简化代码、提升性能了!如果你觉得这篇 Python set教程 对你有帮助,不妨动手实践一下文中的例子吧!
本文由主机测评网于2025-12-04发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025122887.html