Python 中的 set
是一个基本的数据结构,用于存储唯一元素的无序集合。这里是一些关于如何创建和使用集合以及它们常见使用场景的详细解释:
创建集合
-
使用花括号
{}
:
可以通过花括号创建集合,其中包含一系列用逗号分隔的元素。my_set = {1, 2, 3} print(my_set) # 输出 {1, 2, 3}
-
使用
set()
函数:
如果需要从其他数据类型(如列表或元组)创建集合,可以使用set()
函数。my_list = [1, 2, 3, 3] my_set = set(my_list) print(my_set) # 输出 {1, 2, 3},自动去除重复元素
使用集合
集合支持多种操作和方法,用于元素的添加、删除以及集合之间的运算。
-
添加元素:
使用add()
方法向集合添加单个元素。my_set = {1, 2} my_set.add(3) print(my_set) # 输出 {1, 2, 3}
-
删除元素:
使用remove()
或discard()
方法删除元素。remove()
在元素不存在时会抛出一个错误,而discard()
不会。my_set.discard(3) print(my_set) # 输出 {1, 2} my_set.remove(2) print(my_set) # 输出 {1}
-
集合运算:
支持并集(union
)、交集(intersection
)、差集(difference
)和对称差集(symmetric_difference
)等运算。a = {1, 2, 3} b = {3, 4, 5} print(a.union(b)) # 输出 {1, 2, 3, 4, 5} print(a.intersection(b)) # 输出 {3} print(a.difference(b)) # 输出 {1, 2} print(a.symmetric_difference(b)) # 输出 {1, 2, 4, 5}
场景和应用
-
去除重复元素:
当需要从列表或序列中移除重复元素时,集合是一个非常有效的工具。items = [1, 2, 2, 3, 4, 4, 4, 5] unique_items = set(items) print(unique_items) # 输出 {1, 2, 3, 4, 5}
-
数据去重和快速查找:
集合在内部使用哈希表实现,因此检查元素是否存在于集合中的操作非常快,时间复杂度接近 O(1)。 -
数学运算:
在需要执行数学集合运算,如并集、交集、差集等时,集合提供了非常方便的方法。 -
实现关系测试:
可以利用集合来测试两组数据之间的关系,比如一个集合是否是另一个集合的子集或超集。