今天我们讲讲数据类型中的集合,博客写得有点糙,后续应该要进行优化优化了........

集合:无序,不重复的数据组合,主要作用:去重,把一个列表变成集合,就自动去重了

基本语法: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