Python-09-集合_set
1 ello') 2 print(s) 3 s1 = set(["newmet","newmet","top"]) 4 print(s1) 5 输出结果: 6 {'h', 'e', 'l', 'o'} 7 {'top', 'newmet'}
class set(object):
中文注释(方法):
1 s = {1, 2, 3, 4, 5, 6} 2 1、添加集合元素 - add 3 s.add('n') 4 print(s) 5 6 # 2、清空集合 - clear 7 s.clear() 8 print(s) 9 10 # 3、复制集合 - copy 11 s1 = s.copy() 12 print(s1) 13 14 # 4、 随机删除集合中一个元素- pop 15 s.pop() 16 print(s) 17 18 # 5、删除指定某个元素- remove、discard 19 s.remove(1) 20 s.remove("dasda") # 删除不存在的元素,会报错 21 s.discard("dfsdf") # 删除不存在的元素,不会报错 22 print(s) 23 24 ##########无论交集、并集、差集、补集...在后面加上 update,就是把求出来的结果,作为新值,重新赋值给当前集合!!! 25 26 # 6、 求两个集合的-交集- intersection 27 s1 = [1, 3, 4, 6, 8, 9] 28 s2 = [1, 2, 3, 4, 5, 6] 29 new_s1 = set(s1) 30 new_s2 = set(s2) 31 print(new_s1, new_s2) 32 print(new_s1.intersection(new_s2)) # intersection == & 33 print(new_s1 & new_s2) 34 35 # 7、 求连两个集合的-并集- union 36 s1 = [1, 3, 4, 6, 8, 9] 37 s2 = [1, 2, 3, 4, 5, 6] 38 new_s1 = set(s1) 39 new_s2 = set(s2) 40 print(new_s1, new_s2) 41 print(new_s1.union(new_s2)) # union == | 42 print(new_s1 | new_s2) 43 44 # 8、 求连两个集合的-差集- difference 45 s1 = [1, 3, 4, 6, 8, 9] 46 s2 = [1, 2, 3, 4, 5, 6] 47 new_s1 = set(s1) 48 new_s2 = set(s2) 49 print(new_s1, new_s2) 50 print(new_s1.difference(new_s2)) # difference == - 51 print(new_s1 - new_s2) 52 print(new_s2.difference(new_s1)) 53 print(new_s2 - new_s1) 54 55 # 9、 求连两个集合的-交叉补集/对称补集- symmetric_difference 56 s1 = [1, 3, 4, 6, 8, 9] 57 s2 = [1, 2, 3, 4, 5, 6] 58 new_s1 = set(s1) 59 new_s2 = set(s2) 60 print(new_s1.symmetric_difference(new_s2)) # symmetric_difference == ^ 61 print(new_s1^new_s2) 62 63 # 10、 求完差集后,把结果赋值给new_s1(新集合) - difference_update 64 s1 = [1, 3, 4, 6, 8, 9] 65 s2 = [1, 2, 3, 4, 5, 6] 66 new_s1 = set(s1) 67 new_s2 = set(s2) 68 print(new_s1,new_s2) 69 70 new_s1.difference_update(new_s2) # 求完差集后,把结果赋值给new_s1 71 # new_s1 = new_s1 - new_s2 72 print(new_s1) 73 74 # 11、 判断两个集合是否有交集 - isdisjoint 75 s1 = {1,2} 76 s2 = {3,4} 77 print(s1.isdisjoint(s2)) # 没有交集 - True 有交集 - False 78 79 # 12、 判断s1 是否是 s2 的 子集( issubset ) 父集/超集( issuperset ) 80 s1 = {1,2,3,4} 81 s2 = {3,4} 82 print(s1.issubset(s2)) # 判断s1 是否是 s2 的子集 83 # 结果:False 84 print(s1.issuperset(s2)) # 判断s1 是否是 s2 的父集 85 # 结果:True 86 87 # 13、 更新多个值 (只要是可迭代就可以作为更新值)- update 88 s1 = {1,2,3,4} 89 s2 = {3,4,8} 90 s1.update(s2) # 结果:{1, 2, 3, 4, 8} 91 print(s1) 92 93 ################### 补充:########################## 94 95 s = frozenset('hello world') # 不可变集合 96 print(s) 97 98 # 简易的 消去重复元素 99 v = [12,12,33,44,55,55] 100 new_v = list(set(v)) 101 print(new_v)