目录
一、集合的定义
在 Python 中,集合(Set)是一种无序且元素唯一的数据结构。集合对象支持多种数学运算,如并集、交集、差集等。
可以使用花括号 {}
或者 set()
构造函数来创建集合:
# 使用花括号创建集合
set0 = {1, 2, 3, 4, 5}
# 使用 set() 构造函数创建集合
set1 = set([4, 5, 6, 7, 8])
方法一无法创建空集合,空花括号{}为字典。
方法二将可迭代类型元素依次放入集合
在集合中,重复的元素会被自动忽略,确保每个元素都是唯一的。
二、集合的遍历
可以使用 for
循环遍历集合中的所有元素:
set0 = {1, 2, 3, 4, 5}
for e in set0:
print(e)
因其无序特性,无法用索引遍历。
三、集合的基本操作
1.添加元素
可以使用 .add()
方法向集合中添加元素:
# 添加
s4 = {1, 3, 5}
s4.add(7) # 添加元素 7
# {1, 3, 5, 7}
2.删除元素
可以使用 .pop() .discard() .remove() .clear()
等方法删除元素:
s4 = {1, 3, 5, 7, 9}
s4.discard(100) # 删除一个元素 不存在不报错
s4.remove(9) # 删除一个元素 不存在则报错
print(s4) # {1, 3, 5, 7}
s4.pop() # 任意删除一个 因为本身无序
print(s4) # {3, 5, 7}
s4.clear() # 清空
print(s4) # set()
3.合并
可以使用 .update()
方法向集合中添加元素:
# 合并
s4 = {1, 3, 5}
s4.update({3, 5, 7, 9})
print(s4) # {1, 3, 5, 7, 9}
四、集合的运算
集合支持多种数学运算,如交集、并集、差集。
s5 = {1, 3, 5}
s6 = {3, 5, 7}
1.交集 (intersection
)
返回同时在两个集合中的元素:
s7 = s5.intersection(s6) # 交集
print(s7) # {3, 5}
2.并集 (union
)
返回包含两个集合所有元素的新集合:
s8 = s5.union(s6) # 并集
print(s8) # {1, 3, 5, 7}
3.差集 (difference
)
返回存在于第一个集合但不存在于第二个集合的元素:
s9 = s5.difference(s6) # 差集
print(s9) # {1}
s10 = s6.difference(s5) # 差集
print(s10) # {7}