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)
原文地址:https://www.cnblogs.com/newmet/p/9946431.html