4、集合set的功能介绍

集合是易变(可改变)和无序聚集。集合set支持迭代,很像无值(或仅有键的)字典,用花括号表示{}。
 
1、集合的创建:
可以通过调用内建函数set()来创建,及向其传递一个迭代,该迭代的项目成为形成集合的成员。集合也可以由{...}、集合字面值和集合综合表达式语法来创建,尽管set()仍被用于创建空集合({}是空字典),并从存在的对象中构建集合。
#创建一个空集合
set()
#一个四个项目的集合:值为's','p','a','m'(接受任何迭代)
1 s = set('spam')
2、差操作:
新集合包含的项目在s1,不在s2中
1 s1 = {1,2,3,4}
2 s2 = {0,1,2,3}
3 p1 = s1.difference(s2)
4 print(p1)
5 >>>
6 {4}
3、并操作:新集合包含s1和s2中的项目,不出现重复项
1 s1 = {1,2,3,4}
2 s2 = {0,1,2,3}
3 s3 = s1 | s2
4 print(s3)
5 >>>
6 {0, 1, 2, 3, 4}
4、交操作:新集合包含s1和s2两者共有的项目
1 s1 = {1,2,3,4}
2 s2 = {0,1,2,3}
3 s3 = s1 & s2
4 print(s3)
5 >>>
6 {1, 2, 3}
5、添加、修改、删除操作
s.add(x) , s.remove(x) , s.discard(x) , s.pop() , s.clear()
添加一个项目;根据值删除一个项目;删除一个存在的项目;删除返回一个随机项目;删除所有项目
6、复制
s.copy
构建s的顶层(表层)复制。该功能与set(s)相同。
7、子集操作
1 s1 = {1, 2, 3, 4}
2 s2 = {1, 2, 3}
3 i1 = s2.issubset(s1)      #判断s2是否是s1的子集
4 print(i1)
5 >>>
6 True
8、超子集操作
1 s1 = {1, 2, 3, 4}
2 s2 = {1, 2, 3}
3 i2 = s1.issuperset(s2)      #判断s1是否包含是s2
4 print(i2)
5 >>>
6 True
9、对称差操作:新集合包含除了s1和s2交集外的元素
1 s1 = {1, 2, 3, 4}
2 s2 = {0, 1, 2, 3}
3 s3 = s1.symmetric_difference(s2)
4 print(s3)
5 >>>
6 {0, 4}
10、更新:将s2的集合添加到s1中,相当于并操作
1 s1 = {1, 2, 3, 4}
2 s2 = {0, 1, 2, 3}
3 s1.update(s2)
4 print(s1)
5 >>>
6 {0, 1, 2, 3, 4}
原文地址:https://www.cnblogs.com/wangjunfei/p/7679677.html