1 ello')
2 print(s)
3 s1 = set(["newmet","newmet","top"])
4 print(s1)
5 输出结果:
6 {'h', 'e', 'l', 'o'}
7 {'top', 'newmet'}
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)