集合(set)是 Python 中的一种无序、可变、不重复的数据容器。
它常用于去重、成员判断以及数学意义上的集合运算(交集、并集、差集等)。
一、集合的语法与特点
1、无序
集合中的元素没有固定顺序,不能通过索引访问。
2、可变
集合本身可以添加或删除元素。
3、元素唯一
集合自动去重,相同元素只会保留一个。
4、元素必须可哈希
数字、字符串、元组可以作为元素,但列表、字典、集合本身不可作为集合元素。
二、创建集合的方式
1、使用花括号 {}
fruits = {"apple", "banana", "cherry"}
nums = {1, 2, 3, 3, 2}
print(nums) # {1, 2, 3} 自动去重注意:{} 默认是空字典,不能用于创建空集合。
empty = {} # 这是字典
empty_set = set() # 这是空集合2、使用 构造函数
s1 = set("hello") # 字符串 → 集合(去重)
print(s1) # {'h', 'e', 'l', 'o'}
s2 = set([1, 2, 2, 3]) # 列表 → 集合
print(s2) # {1, 2, 3}3、使用
squares = {x**2 for x in range(5)}
print(squares) # {0, 1, 4, 9, 16}想了解更多创建方式(如 frozenset、嵌套集合等),请参阅:
三、集合的常用操作
1、成员判断
s = {1, 2, 3}
print(2 in s) # True
print(5 not in s) # True2、集合运算
a = {1, 2, 3}
b = {3, 4, 5}
print(a | b) # 并集 {1, 2, 3, 4, 5}
print(a & b) # 交集 {3}
print(a - b) # 差集 {1, 2}
print(a ^ b) # 对称差 {1, 2, 4, 5}3、修改集合
s = {1, 2}
s.add(3) # 添加单个元素
s.update([4, 5]) # 批量添加
s.remove(2) # 删除元素,不存在时报错
s.discard(10) # 删除元素,不存在也不会报错
print(s) # {1, 3, 4, 5}4、内置函数与方法
s = {5, 2, 9, 1}
print(len(s)) # 4,大小
print(max(s)) # 9,最大值
print(min(s)) # 1,最小值
print(sum(s)) # 17,元素求和
print(sorted(s)) # [1, 2, 5, 9],返回排序后的列表想了解更多操作(如 pop()、clear()、issubset() 等),请参阅:
四、集合的典型应用
1、去重
nums = [1, 2, 2, 3, 3, 4]
unique = set(nums)
print(unique) # {1, 2, 3, 4}2、快速查找
集合基于哈希表实现,成员判断比列表更快(平均 O(1))。
data = set(range(1000000))
print(999999 in data) # True,查找速度快3、关系测试
a = {1, 2}
b = {1, 2, 3}
print(a <= b) # True,子集
print(b >= a) # True,超集想了解更多进阶技巧(如集合推导式、frozenset、结合 filter/map/zip、模式匹配等),请参阅:
小结
集合是无序、可变、不重复的数据容器。
“点赞有美意,赞赏是鼓励”
热门跟贴