集合
集合是一个无序的,不重复的数据组合,它的主要作用如下:
- 去重,把一个列表变成集合,就自动去重了
- 关系测试,测试两组数据之前的交集、差集、并集等关系
功能
list_1=set([1,2,3,4,5,6,7,8,9]) list_2=set([1,3,5,6,7,9,11111]) #交集 print('交集',list_1.intersection(list_2)) print('交集',list_1&list_2) #并集 合并起来去重复 print('并集',list_1.union(list_2)) print('并集',list_1|list_2) #差集, in list_1 but not in list_2 print('差集',list_1.difference(list_2)) print('差集',list_1-list_2) #差集 in list_2 but not in list_1 print('差集',list_2.difference(list_1)) print('差集',list_2-list_1) #子集 print('子集',list_1.issubset(list_2)) #父集 print('父集',list_1.issuperset(list_2)) #对称差集 ,去掉交集,剩下的 print('对称差集',list_1.symmetric_difference(list_2)) print('对称差集',list_1^list_2) print('===================================') list_3 = set([1,3,7]) list_4 = set([2,4,6]) 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') 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”的一个浅复制