yxixi 发表于 2018-8-6 12:47:10

Python11 集合

集合
  

list_1 =       #列表中有重复的内容  

  
list_1 = set(list_1)            #将列表转成集合
  

  
print (list_1,type(list_1))
  


  可以看到转成集合后,会将重复的内容去掉。
  集合是无序的

1.交集
  

list_2 = set()  

  
print (list_1.intersection(list_2))
  


  将交集的内容给打印出来
  其中7、8、9是两个集合中重复的内容

2.并集
  

print (list_1.union(list_2))  


  去重合并

3.差集、对称差集
  

print (list_1.difference(list_2))  


  取异值,也就是我有你没有的
  

print (list_2.difference(list_1))  


  

print (list_1.symmetric_difference(list_2))  


  取两个集合相互都没有的值

4.子集、父集
  

list_3 = set()  

  
print (list_3.issubset(list_1))
  

  
#判断list_3是否是list_1的子集(list_3的1,3,7在list_1中也存在)
  

  
print (list_1.issuperset(list_3))    #判断list_1是list_3的父集
  


  

print (list_3.issuperset(list_1))    #判断list_3是list_1的父集  



5.无交集
  

list_4 = set()  

  
print (list_3.isdisjoint(list_4))
  


  两个集合没有交集则为True

6.运算符
  

list_1 = set()  

  
list_2 = set()
  

  
list_3 = set()
  

  
list_4 = set()
  

  
print (list_1 & list_2)               #交集
  
print (list_1 | list_2)               #并集
  
print (list_1 - list_2)             #差集,我有你没有
  
print (list_1 ^ list_2)            #对称差集
  



7.添加
  

list_1.add(999)  
print (list_1)
  


  

list_1.update()  
print (list_1)
  



8.删除
  

list_1.remove(999)  
print (list_1)
  


  

print (list_1.remove('bbb'))    #删除  

  集合也可以使用in、copy、pop(pop是随机删除,不能指定)
  

list_1.discard(666)  
print (list_1)
  

  使用discard删除,与remove不同的是,如果删除的元素不存在,discard不会报错。
页: [1]
查看完整版本: Python11 集合