Python基础学习之集合
集合是一个无序、不重复的数据集合,它的主要作用如下:
- 去重:把一个列表变成集合,就可以去除重复的内容
- 关系测试:测试两组数据之间的交集、并集、差集等关系
集合常用的操作:
#创建一个数值集合 s=set([99,1,23,8,4,7]) print('s=',s) #创建一个唯一字符的集合 t=set('MyPython') print('t=',t) #把一列表变成集合,验证去重功能 list=[5,2,7,36,2,5,111] list2set=set(list) print('列表变成集合后为:',list2set) #交集 #求交集、并集时集合前后顺序无所谓 set1=set([3,5,7,9,12,0]) set2=set([1,2,3,6,8,9]) #s1与s2结果一样。求交集的两种算法都可以 s1=set1.intersection(set2) s2=set1&set2 print('set1=',set1) print('set2=',set2) print('set1与set2的交集是:',s1,s2) #并集 #union()=| s3=set1.union(set2) s4=set2|set1 print('set1与set2的并集是:',s3,s4) #差集 print('***********求set1与set2的差集***********') print('set1=%s\nset2=%s\n'%(set1,set2)) s5=set1.difference(set2)#求差集(数值在set1中,但不在set2中) s6=set2.difference(set1)#求差集(数值在set2中,但不在set1中) s7=set1-set2 #求差集(数值在set1中,但不在set2中) s8=set2-set1 #求差集(数值在set2中,但不在set1中) print('s5=%s\n'%s5,'S6=%s\n'%s6,'s7=%s\n'%s7,'s8=%s\n'%s8) #对称差集 print("*************求对称差集**************") s9=set1.symmetric_difference(set2) s10=set1^set2 print('set1与set2的对称差集是:',s9,s10) #基本操作 set1.remove(3)#删除set1中的一项3 print(set1) set1.update([66.77,88,99])#在set2中添加三个数值 print(set1) len(set1)#求set1的长度 #x in set1 #测试x是否是set1的成员 #x not in set1 #子集 超集 a=set([2,3,4,5,9]) b=set([2,3,5]) c=set([44,2,7,5,12,3]) print(a.issuperset(b)) print(b.issuperset(a)) print(b.issubset(a)) print(b.issubset(c)) print(a>=b) print(a<=b) print(b<=c) print(b>=c)