1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 #Author:ersa 4 ''' 5 #集合是无序的 6 集合的关系测试, 7 增加,删除,查找等操作 8 ''' 9 #列表去重 ==》转集合自动去重 10 list_1 = [1,3,5,7,9,11,2,4] 11 list_2 = [2,4,6,8,10] 12 13 print(list_1,list_2) 14 15 #列表转集合 16 list_1 = set(list_1) 17 list_2 = set(list_2) 18 19 print("关系测试".center(70,'=')) 20 #两个集合的交集 21 print( list_1.intersection(list_2) ) 22 23 #并集 24 print( list_1.union(list_2) ) 25 26 #差集==》我有你没有 27 print(list_1.difference(list_2)) 28 29 #子集 30 list_3 = set([1,3,5]) 31 print(list_3.issubset(list_1)) 32 print(list_1.issuperset(list_3)) 33 34 #对称差集==》两个集合中都没有 35 print(list_1.symmetric_difference(list_2)) 36 37 #没有交集则返回true 38 list_4 = set([2,4,6]) 39 print(list_3.isdisjoint(list_4)) 40 41 print("关系运算符".center(70,'=')) 42 #交集 & 43 print("%s & %s 交集: "%(list_1,list_3),list_1 & list_3) 44 #并集 | 45 print("%s | %s 并集: "%(list_1,list_2),list_1 | list_2) 46 47 #差集 在 list_1 中不在 list_2中 48 print("%s - %s 差集: "%(list_1,list_2),list_1 - list_2) 49 50 #对称差集 在 list_1 或 list_2中,但不会同时出现在二者中 51 print("%s ^ %s 对称差集: "%(list_1,list_2),list_1 ^ list_2) 52 53 print("集合的基本操作 增、删、改、查".center(70,'=')) 54 55 #增加1个 56 list_1.add(999) 57 print("%s 增 add: "%(list_1),list_1) 58 59 #增加多个 update 60 list_1.update([19,29,39]) 61 print("%s 增加多个 update "%(list_1),list_1) 62 63 #删除 remove 64 list_1.remove(999) 65 print("%s 删除 remove "%(list_1),list_1) 66 67 #remove 删除不存在的会报错,discard 不会报错 68 print("%s 删除 discard "%(list_1),list_1.discard('ddd')) 69 list_1.discard(11) 70 print("%s 删除 discard "%(list_1)) 71 72 #集合的长度 73 print("%s 长度 "%(list_1),len(list_1)) 74 75 #是否是集合的成员 76 print("%s 是否在 集合中 "%(list_1),999 in list_1) 77 78 #是否不是集合的成员 79 print("%s 不在 集合中 "%(list_1),999 not in list_1) 80 81 #删除第一个 82 print("%s 删除第一个 "%(list_1),list_1.pop()) 83 print(list_1)