今天我们讲讲数据类型中的集合,博客写得有点糙,后续应该要进行优化优化了........
集合:无序,不重复的数据组合,主要作用:去重,把一个列表变成集合,就自动去重了
基本语法:S = {1}类型为集合,S={}类型为字典,这点容易混淆
将列表转化为集合,用set(列表名)方法:
集合的增删改查:
s={1,2,3,4,5}
增:s.add()
删:s.pop(),随机删除一个值
s.remove(值),删除指定的值
s.discard(值),删除指定的值,如果存在,则删除,如果不存在,不会返回任何值,这点和s.remove(值)不同,后者会报错
改:s.update(另一个集合名):将这个集合与另一集合合并
s.add(值):往集合中增加值,且只能增加一个
集合的关系测试:分为交集,差集和并集
求交集:集合名.intersection(另一个集合名)
集合名&另一个集合名
求差集:集合名.difference(另一个集合名)
集合名-另一个集合名
求并集:集合名.union(另一个集合名)
集合|另一个集合名
求对称差集,即将两个集合中不是交集的部分取出来,语法为:集合名.symmetric_difference(另一个集合名)或者集合名^另一个集合名
求子集和父集,语法:
是否为另一个集合的子集:集合名.issubset(另一个集合名)或者是集合名<=另一个集合名
是否为另一个集合的父集:集合名.issuperset(另一个集合名)或者是集合名>=另一个集合名
判断两个集合是否不相交,集合名.isdisjoint(另一个集合名)
将两个集合差集的结果赋给其中一个集合,语法:
集合A.deffence_update(集合B),将这两个集合的交集结果赋给集合A
将两个集合交集的结果赋给其中一个集合,语法:
集合A.intersection_update(集合B),将这两个集合的差集结果赋给集合B