一、创建集合
由于集合具有天生去重、里面的元素不可变、无序等特点,创建集合时,列表和字典等可变数据类型不能作为集合的元素,重复的对象也不能同时存入两次。
s = {1, 2, 3, 4, 'name', 'age'}
二、增加
格式:s.add(element) # 只能添加一个元素
s = {1, 2, 3, 4, 'name', 'age'}
s.add('height')
print(s)
结果:{1, 2, 3, 4, 'name', 'age', 'height'}
格式:s1.update(s2) # 合并两个集合,重复的元素自动去重
s1 = {1, 2, 3, 4, 'name', 'age'}
s2 = {1, 2, 'height', 'sex'}
s1.update(s2)
print(s1)
结果:{1, 2, 3, 4, 'sex', 'age', 'height', 'name'}
三、删除
1、s.discard(element) # 删除一个元素,如果元素存在,删除元素,如果不存在,什么也不做。
2、s.pop() # 随机删除一个元素,并返回
3、s.remove(element) # 删除指定元素,元素必须存在,不存在会报错
四、查找
格式:element in s, 如果存在,返回true,如果不存在返回false。
五、修改
集合元素不能修改
六、关系运算
1、交集
s1 = {1, 2, 3, 4, 6, 7, 8, 'name', 'age'}
s2 = {1, 4, 6, 'name', 'age', 'sex'}
print(s1.intersection(s2)) # 或者 s1 & s2
结果:{1, 4, 6, 'name', 'age'}
2、并集
s1 = {1, 2, 3, 4, 6, 7, 8, 'name', 'age'}
s2 = {1, 4, 6, 'name', 'age', 'sex'}
print(s1.union(s2)) # 或者 s1 | s2
结果:{1, 2, 3, 4, 'sex', 6, 7, 8, 'name', 'age'}
3、差集
s1 = {1, 2, 3, 4, 6, 7, 8, 'name', 'age'}
s2 = {1, 4, 6, 'name', 'age', 'sex'}
print(s1.difference(s2)) # 或s1 - s2
结果:{8, 2, 3, 7}
4、对称差集
s1 = {1, 2, 3, 4, 6, 7, 8, 'name', 'age'}
s2 = {1, 4, 6, 'name', 'age', 'sex'}
print(s1.symmetric_difference(s2)) # 或者 s1 ^ s2
结果:{2, 3, 7, 8, 'sex'}
5、两个集合之间的关系
两个集合之间一般有三种关系,相交、包含、不相交。在python下用下边的方法判断:
1、s1.isdisjoint(s2) 判断两个集合是不是不相交,返回true或false
2、s1.issubset(s2) 判断s1是否是s2的子集,返回true或false
3、s1.isuperset(s2) 判断s1是否是s2的父集,返回true或false
# isdisjoint()
s1 = {1, 2, 3, 'name', 'age'}
s2 = {0, 'sex'}
print(s1.isdisjoint(s2))
# issubset()、issuperset()
s1 = {1, 2, 3, 'name', 'age'}
s2 = {1, 2}
print(s2.issubset(s1))
print(s1.issuperset(s2))
结果:
True
True
True