同其他数据类型类似,集合也有一系列常用的操作,例如添加元素、删除元素等,通过这些操作,编程者可以很方便地处理集合。
添加元素
集合中添加元素可以使用add()和update()函数,如下所示。
1 set1, set2 = {1, 2, 3, 4}, { 5, 6, 7,8}
2 set1.add(5)
3 print(set1)
4 set1.update(set2)
5 print(set1)
运行结果如下图所示。

在上例中,第2行通过add()函数将元素4添加到集合set1,第4行通过update()函数将集合set2中的元素添加到集合set1。
删除元素
集合中删除元素可以使用remove()和discard()函数,如下所示。
1 set1 = {1, 2, 3, 4}
2 set1.remove(3) # 删除不存在元素时报错
3 set1.discard(4) # 删除不存在元素时不会报错
4 set1.discard(5)
5 print(set1)
6 set1.clear() # 清空集合
7 print(set1)
运行结果如下图所示。

在上例中,注意remove()和discard()函数的区别。
集合运算
集合可以参与多种运算,如下表所示。
运算 | 说明 |
---|---|
x in set1 | 检测x是否在集合set1中 |
set1| set2 | 并集 |
set1 == set2 | 判断集合是否相等 |
set1 & set2 | 交集 |
set1 <= set2 | 判断set1是否是set2的子集 |
set1 - set2 | 差集 |
set1 < set2 | 判断set1是否是set2的真子集 |
set1 ^ set2 | 对称差集 |
set1 >= set2 | 判断set1是否是set2的超集 |
set1 |= set2 | 将set2的元素并入set1 |
set1 < set2 | 判断set1是否是set2的真超集 |
接下来演示这些运算的用法,如下所示。
1 set1, set2 = {1, 2, 3, 4}, {3, 4, 5, 6}
2 print(1 in set1) # set1中包含元素1
3 print(set1 == set2) # set1与set2不相等
4 print(set1 > set2) # set2不是set1的子集
5 print(set1 >= set2) # set2不是set1的真子集
6 print(set1 | set2) # 并集
7 print(set1 & set2) # 交集
8 print(set1 - set2) # 差集
9 print(set1 ^ set2) # 对称差集
10 set1 |= set2 # 将set2并入set1
11 print(set1)
运行结果如下图所示。

在上例中,除了set1 |= set2外,所有的运算都不会影响set1与set2中的元素。
除了上述运算符外,还可以通过union()、intersection()与difference()函数实现集合的并集、交集与差集,如下所示。
1 set1, set2 = {1, 2, 3, 4}, {3, 4, 5, 6}
2 print(set1.union(set2)) # 并集
3 print(set1.intersection(set2)) # 交集
4 print(set1.difference(set2)) # 差集
运行结果如下图所示。

在上例中,这三个函数的调用都不会影响set1与set2中的元素。
集合遍历
集合可以通过for循环遍历其中的元素,如下所示。
1 set1 = {1, 2, 3, 4, 5}
2 for num in set1:
3 print(num, end = ' ')
运行结果如下图所示。

在上例中,通过for循环遍历集合中的元素。
网友评论