一. 简介
前面文章学习了 python3中的集合,本文来回顾一下 集合,包括集合的创建,添加元素,移除元素等等操作。
Python 提供了两种类型的集合:可变集合(mutable set) 和 不可变集合(frozen set)。它们的主要区别在于是否允许修改集合的内容。这里主要学习可变集合。
二. 回顾python3中的集合
1. 创建集合
可以使用大括号 { } 创建集合,元素之间用逗号 , 分隔, 或者也可以使用 set() 函数创建集合。
注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。
如下所示:
set1 = {"肖战", "重庆", "男演员", 183.6}
set2 = set(("张晚意", "湖北", "男演员", 180))
set3 = set()
print(set1)
print(set2)
输出如下:
{'肖战', '男演员', '重庆', 183.6}
{'湖北', 180, '男演员', '张晚意'}
可以看出,集合被打印出来的时候,显示是无序的。
2. 添加或移除元素
使用 add()方法可以向可变集合中添加新元素:
set1 = set(("张晚意", "湖北", "男演员", 180))
set1.add(120)
也可以使用 update()方法进行添加,参数可以是列表,元组,字典:
set1 = set(("张晚意", "湖北", "男演员", 180))
set1.update([120, "《柳舟记》"])
移除元素,可以使用 remove()方法进行:
set1 = set(("张晚意", "湖北", "男演员", 180, "爱运动的人", "喜剧人"))
set1.remove("喜剧人")
set1.clear() #清空集合
3. 集合的并集与交集
集合的并集
属于集合 A 或集合 B 的所有元素组成的集合,称为 A集合和 B集合的并集,数学表达式为:
A∪B={x|x∈A或x∈B}
集合的交集,属于集合 A 或集合 B 的所有元素组成的集合,称为 A集合和 B集合的并集。表达式如下:
A∩B={x|x∈A且x∈B}
举例说明:
#!/usr/bin/env python3set1 = set(("张晚意", "湖北", "男演员", 180, "爱运动的人"))
set2 = set(("肖战", "重庆", "男演员", 183.6, "爱运动的人"))
print(set1 | set2)
print(set1 & set2)
输出如下:
{'张晚意', '男演员', '重庆', '肖战', 180, 183.6, '爱运动的人', '湖北'}
{'爱运动的人', '男演员'}
4. 集合的差集与异或
属于集合A而不属于集合B中的元素所构成的集合,称为集合A减集合B,数学表达式为:
A-B={x|x∈A,x∉B}
属于集合A或集合B,但不同时属于集合A和B的元素所组成的集合,称为集合A和B的异或集,其相当(A∪B)-(A∩B)。利用符号 “^” 或者集合方法 symmetric_difference() 函数即可求出两个集合对象的异或集。
下面举例说明:
set1 = set(("张晚意", "湖北", "男演员", 180, "爱运动的人"))
set2 = set(("肖战", "重庆", "男演员", 183.6, "爱运动的人"))
print(set1 - set2) #set1与 set2的差集
print(set1 ^ set2) #set1与 set2的异或集
输出如下:
{'张晚意', 180, '湖北'}
{'张晚意', 180, '肖战', 183.6, '重庆', '湖北'}