set集合
集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之前的交集、差集、并集等关系 ''' list_1 = [1,3,4,7,3,6,7,9] #去重 list_1 = set(list_1) list_2 = set([2,6,0,66,22,8,4]) list_3 = set([1,3,7]) print(list_1) print(list_2) print(list_3) print("---------------------------") #关系测试 #交集(两个列表里面都有的值,这里是4、6): print(list_1.intersection(list_2)) #并集(把两个列别合并起来,然后去重): print(list_1.union(list_2)) #差集(把list_1里面有的而list_2里面没有的取出来): print(list_1.difference(list_2)) #对称差集(两个列表里面,互相没有的取出来,也就是只去掉那些互相都有的值) print(list_1.symmetric_difference(list_2)) #子集(判断list_1是否包含了list_3里面的所有值) print(list_3.issubset(list_1)) #父集(判断list_1是否为list_3的父集) print(list_1.issuperset(list_3)) #无交集(判断list_3和list_4是否完全没有任何交集) list_4 = set([5,6,8]) print(list_3.isdisjoint(list_4)) #-----------------------关系测试的另一种写法: ''' s = set([3,5,9,10]) #创建一个数值集合 t = set("Hello") #创建一个唯一字符的集合 a = t | s # t 和 s的并集 b = t & s # t 和 s的交集 c = t – s # 求差集(项在t中,但不在s中) d = t ^ s # 对称差集(项在t或s中,但不会同时出现在二者中) 基本操作: t.add('x') # 添加一项 s.update([10,37,42]) # 在s中添加多项 使用remove()可以删除一项: t.remove('H') #有就删除,没有就报错 t.pop() #随机弹出一个 t.discard('H') #有就删除,没有也不会报错 len(s) set 的长度 x in s 测试 x 是否是 s 的成员 x not in s 测试 x 是否不是 s 的成员 s.issubset(t) s <= t 测试是否 s 中的每一个元素都在 t 中 s.issuperset(t) s >= t 测试是否 t 中的每一个元素都在 s 中 s.union(t) s | t 返回一个新的 set 包含 s 和 t 中的每一个元素 s.intersection(t) s & t 返回一个新的 set 包含 s 和 t 中的公共元素 s.difference(t) s - t 返回一个新的 set 包含 s 中有但是 t 中没有的元素 s.symmetric_difference(t) s ^ t 返回一个新的 set 包含 s 和 t 中不重复的元素 s.copy() 返回 set “s”的一个浅复制