.集合:set
特点:无序,不可重复(自动去重),可更改,可以与元组、列表互相转换
格式:s = {'x','y','z'}
转换:(转回用set)
s = {'x','y','z'}
m = list(s)
print(m)
n = tuple(s)
print(n)
结果:
['y', 'z', 'x']
('y', 'z', 'x')
同时字符串、数字、元组、列表、字典均可通过set功能转换为集合,字典在转换时候,只会提取Key值(即提取可迭代对象)
set 的功能:
-
.add():顾名思义,添加某个元素,元素写()内;
-
.clear():删除/清空集合内容;
-
.copy():浅复制;
-
.difference():在某集合中,但是不在另一集合中,单向取不交集部分。
s1 = {1,2,3,4,5,6,7,8,9}
s2 = {1,3,5,7,9,11,13,15}
m = s1.difference(s2)#在s1中,不在s2中s1 - s2
n = s2.difference(s1)#在s2中,不在s1中
s2 - s1print(m,n)
结果:{8, 2, 4, 6} {11, 13, 15}
-
.differenc_updata():同上,单向取不交集部分,并用该结果覆盖原集合;
-
.discar():移除某个元素,如果不存在,不会报错;
-
.pop():随机删除集合内已有的某一个元素;
-
.remove():删除某元素,如果元素不存在,提报错提醒;
-
.intersection():取两个集合的并集(公共部分),并生成新集合
s1&s2
-
.intersection_updata():同上,更新到前一个集合;
-
.isdisjoint():判断是否两个集合是否没有相同部分,返回True和False;
-
.issubset():判断前一个集合是否是后一个集合的子集,返回True和False;
-
.issuperset():判断前一个集合是否是后一个集合的父集,返回True和False;
-
.symmertic_difference():取两个集合的不交部分组成新集合;
s1 ^ s2
-
.symmertic_difference_updata():取两个集合不交部分组成新集合同时更新掉前面集合;
-
.unio():合并两个集合(重复自动删除)
s1|s2
-
.updata():将后集合更新入前集合