接着上次的讲解的继续。
3、set
集合可以看作是一种特殊的数组,但是和数组的操作又有所不同,再集合中,还包含了交、差、并等运算。集合在初始化时,需要调用set函数,例如下面的代码
s = set([1, 2, 3, 2, 2, 4])
print(s)
直接结果如下图,
交
交是指两个集合共有的部分,可以使用&
符合和intersection
方法,下面是求s1和s2两个集合的交集
s1 = set([1, 2, 3, 4, 5, 6])
s2 = set([3, 4, 5, 6, 7, 8, 9])
print(s1 & s2)
print(s1.intersection(s2))
执行结果如下
并
并指的是两个集合的全部元素,可以使用|
符合和union
方法,下面是求s1和s2两个集合的并集
s1 = set([1,2,3,4,5,6])
s2 = set([3,4,5,6,7,8,9])
print(s1 | s2)
print(s1.union(s2))
执行结果是
差
差指的是另一个集合不存在的元素,可以使用-
符合和difference
方法,
s1 = set([1, 2, 3, 4, 5, 6])
s2 = set([3, 4, 5, 6, 7, 8, 9])
print(s1 - s2)
print(s1.difference(s2))
执行结果是
对称差
对称差指的是两个集合的并减去两个集合的交,即(A|B)-(A&B),可以使用^
符合和symmetric_difference
方法,
s1 = set([1, 2, 3, 4, 5, 6])
s2 = set([3, 4, 5, 6, 7, 8, 9])
print(s1 ^ s2)
print(s1.symmetric_difference(s2))
执行结果如下图所示,两个集合去除了公共部分的。
查找
集合的查找和字典查找类时,采用if value in set
语法进行操作。
插入
在集合中,插入方法有add
和update
。add
方法是向集合中增加一个元素,update
方法是向集合中增加集合。
s = set([1, 2])
print(s)
s.add(3)
print(s)
s.update(set([5, 6, 7]))
print(s)
执行结果如下,首先向集合中增加3,然后向集合中怎么一个新的集合。
删除
集合中的删除采用remove
方法,删除特定的值
s = set([1, 2, 3, 4, 5, 6])
print(s)
s.remove(4)
print(s)
执行结果如下图所示,4从集合中移除了
遍历
遍历和数组类似,采用for value in set
语法格式进行遍历。
s = set([1, 2, 3, 4, 5, 6])
for value in s:
print(value)