# 集合是一个无序的,不重复的数据组合,它的主要作用如下: # 去重,把一个列表变成集合,就自动去重了 # 关系测试,测试两组数据之前的交集、差集、并集等关系 s = set([3, 5, 9, 10]) # 创建一个数值集合 t = set("Hello") # 创建一个唯一字符的集合 t.add('x')# 添加一项 s.update([10,37,42]) # 在s中添加多项 t.remove('H')#使用remove(),可以删除一项 print(s,t)#集合是无序的 print('x' in t)#测试 x 是否是 s 的成员,列表,集合,字典,字符串都是这样判断 print('x' not in t)#测试 x 是否不是 s 的成员 print(len(s))# set的长度 print(t.pop())#任意删除一个元素,并把这个删除的元素返回 print(s.discard(3))#删除指定元素,如果指定元素不存在,也不会报错,而remove则会报错 print(s.discard(333)) #print(s.remove(333))#指定删除的元素不存在,所以报错 print(s) list_1=[1,4,7,5,6,3,6,7,9] list_1=set(list_1)#创建集合,已经去掉重复的;集合是无序的 list_2=set([2,6,0,66,22,8,4]) print(list_1,type(list_1),list_2) #交集(两种方式) print(list_1.intersection(list_2)) print(list_1&list_2)#运算符形式 #并集(两种方式) print(list_1.union(list_2)) print(list_1|list_2) #差集(两种方式) print(list_1.difference(list_2))#取出list_1有的,list_2中没有的(in list_1 but not in list_2) print(list_1-list_2) print(list_2.difference(list_1)) print(list_2-list_1) #子集,父集 print(list_1.issubset(list_2))#判断list_1是否是list_2的子集,即:测试是否 list_1 中的每一个元素都在list_2中 print(list_1.issuperset(list_2))#判断ist_1是否是list_2父集 即:测试是否 list_2中的每一个元素都在 list_1 中 list_3=set([1,3,7]) print(list_3.issubset(list_1)) print(list_1.issuperset(list_3)) #对称差集(两种方式) 项在list_1或list_2中,但不会同时出现在二者中 print(list_1.symmetric_difference(list_2))#list_1和list_2不相同的并在一起 print(list_1^list_2) #判断是否有交集,如果有交集返回为False,否则返回为True print(list_1.isdisjoint(list_2)) list_4=set([5,6,8]) print(list_3.isdisjoint(list_4))