python set

集合
集合是无序的,它和字典很相似,只是它只有key 没有value。

定义一个集合:
s1 = {1,2,3,4,4}
s2 = set([1,2,3,4,4])
print(s1,s2)
输出结果都是{1,2,3,4},可见集合会去重的!


交集:
s1 = {1,2,3,4,8,9}
s2 = set([1,2,3,4,5,6,7])
print(s1,s2)
第一种方法:print(s1&s2)
第二种方法:print(s1.intersection(s2))
            输出结果:{1,2,3,4}
并集:
s1 = {1,2,3,4,8,9}
s2 = set([1,2,3,4,5,6,7])
第一种方法:print(s1|s2)
第二种方法:print(s1.unjion(s2))
            输出结果:{1, 2, 3, 4, 5, 6, 7, 8, 9}

差集:在s1中s2没有的或者是在s2中s1中没有的
s1 = {1,2,3,4,8,9}
s2 = set([1,2,3,4,5,6,7])
第一种方法:print(s1.difference(s2))
      print(s2.difference(s1))
第二种方法:pint(s1 - s2) 在s1中不在s2中 
      print(s2 -s1) 在s2中不在s1中

          输出结果:{8, 9}
              {5, 6, 7}

子集:

s1 = {1,2,3}
s2 = {1,2,3,4}
print(s1.issubset(s2))
            输出结果:True  s1是s2的子集。

父集:
s1 = {1,2,3}
s2 = {1,2,3,4}
print(s1.issubset(s2))
print(s2.issuperset(s1))
            输出结果:True ,s2是s1的父集。

对称差集:互相都没有的取出来
s1 = {1,2,3,4,8,9}
s2 = set([1,2,3,4,5,6,7])
第一种方法:print(s1.symmetric_difference(s2))
第二种方法:print(s1^s2)

            输出结果:{5, 6, 7, 8, 9}


            
集合简单操作:
添加一个元素:
s1 = {1,3,4,5}
s1.add(2)
print(s1)
            输出结果:{1, 2, 3, 4, 5}
            
删除一个元素:
s1 = {1,2,3,4,5}
s1.remove(5)
print(s1)  
            输出结果:{1, 2, 34}
原文地址:https://www.cnblogs.com/lin1/p/7600548.html