当前位置:首页 > Python > 正文

掌握Python集合操作(从零开始学Python set基础与实用技巧)

在Python编程中,集合(set)是一种非常有用的数据结构。它不仅可以自动去除重复元素,还支持高效的数学集合运算,如交集、并集、差集等。本教程将带你从零开始学习Python集合操作,即使是编程小白也能轻松上手!

掌握Python集合操作(从零开始学Python set基础与实用技巧) Python集合操作  Python set基础 集合去重 集合交并差 第1张

什么是Python集合?

集合(set)是Python内置的一种无序、不重复的元素容器。你可以把它想象成数学中的“集合”——每个元素只出现一次,且没有顺序。

如何创建集合?

创建集合有多种方式:

# 方法1:使用花括号 {}my_set = {1, 2, 3, 4}# 方法2:使用set()函数my_set2 = set([1, 2, 2, 3])  # 自动去重 → {1, 2, 3}# 创建空集合(注意:不能用 {},那是空字典!)empty_set = set()

注意:如果你写 {},Python会认为你创建的是一个空字典(dict),而不是空集合。要创建空集合,请务必使用 set()

集合的核心特性:自动去重

这是集合去重最常用的功能之一。比如你有一个包含重复数据的列表,想快速去重,只需转成集合即可:

numbers = [1, 2, 2, 3, 4, 4, 5]unique_numbers = set(numbers)print(unique_numbers)  # 输出: {1, 2, 3, 4, 5}

集合的常用操作

集合支持多种操作,包括添加、删除、判断是否存在等:

s = {1, 2, 3}# 添加元素s.add(4)          # s 变为 {1, 2, 3, 4}# 删除元素(如果不存在会报错)s.remove(2)       # s 变为 {1, 3, 4}# 安全删除(不存在也不报错)s.discard(10)     # 无变化# 判断元素是否在集合中print(3 in s)     # True

集合的数学运算:交并差

这是集合交并差操作的核心应用场景。假设你有两个集合 A 和 B:

A = {1, 2, 3, 4}B = {3, 4, 5, 6}# 交集(两个集合都有的元素)intersection = A & B        # 或 A.intersection(B)print(intersection)         # {3, 4}# 并集(所有不重复的元素)union = A | B               # 或 A.union(B)print(union)                # {1, 2, 3, 4, 5, 6}# 差集(A中有但B中没有)difference = A - B          # 或 A.difference(B)print(difference)           # {1, 2}# 对称差集(只在一个集合中出现的元素)sym_diff = A ^ B            # 或 A.symmetric_difference(B)print(sym_diff)             # {1, 2, 5, 6}

实际应用小例子

假设你想找出两个班级都选修了某门课的学生名单:

class_a = {'Alice', 'Bob', 'Charlie'}class_b = {'Bob', 'David', 'Eve'}common_students = class_a & class_bprint("两个班都有的学生:", common_students)  # {'Bob'}

总结

通过本教程,你已经掌握了Python set基础操作,包括创建集合、自动去重、添加删除元素,以及最重要的集合交并差运算。集合在处理唯一性数据和集合逻辑时非常高效,是每位Python开发者必须掌握的工具之一。

现在就打开你的Python编辑器,动手试试这些操作吧!实践是掌握Python集合操作的最佳方式。