1 # str1 = "abca" 2 # l = [1, 2, 1, 3] 3 # t = (1, 2, 3, 3) 4 # d = {"name": "sz", "age": 18, "add": 18} 5 # 6 # s = {1, 2, 3, 1} 7 8 # 集合的定义 9 # 可变集合 10 # 11 # s = {1, 2, 3} 12 # print(s, type(s)) 13 # 14 # 15 # 16 # # s2 = set("abc") 17 # # s2 = set([1, 2, 3]) 18 # s2 = set({"name": "sz", "Age": 18}) 19 # # s2 = set((1, 2, 3)) 20 # print(s2, type(s2)) 21 22 23 # s = set(x for x in range(0, 10)) 24 # s = {x for x in range(0, 10)} 25 # print(s, type(s)) 26 27 28 29 30 # 可变集合的定义 31 32 # fs = frozenset("abc") 33 # fs = frozenset([1, 2, 3]) 34 # fs = frozenset((1, 2, 3)) 35 # fs = frozenset({"name": "sz", "age": 18}) 36 # print(fs, type(fs)) 37 38 39 # s = frozenset(x ** 2 for x in range(1, 10) if x % 2 == 0) 40 # print(s, type(s)) 41 42 43 # s = {} 44 # s = set() 45 # s = frozenset() 46 # s = {1, 2, [1, 2]} 47 # s = {1, 2, {"name": "sz"}} 48 # s = {1, 2, 1} 49 # print(s, type(s)) 50 51 52 # l = [1, 2, 3, 3, 3] 53 # s = set(l) 54 # print(s) 55 # result = list(s) 56 # print(result, type(result))
1 # --------------------------集合的操作---------------------------------- 2 3 4 5 6 # s = {1, 2, 3} 7 # # s.add(4) 8 # s.add([1, 2]) 9 # print(s, type(s)) 10 11 12 # 删 13 # s.remove(element) 14 # 指定删除set对象中的一个元素 15 # 如果集合中没有这个元素,则返回一个错误 16 17 # s = {1, 2, 3} 18 # result = s.remove(3) 19 # result = s.remove(13) 20 # print(result, s) 21 22 23 # s.discard(element) 24 # 指定删除集合中的一个元素 25 # 若没有这个元素,则do nothing 26 # result = s.discard(13) 27 # print(result, s) 28 29 30 31 # s.pop(element) 32 # 随机删除并返回一个集合中的元素 33 # 若集合为空,则返回一个错误 34 # result = s.pop() 35 # print(result, s) 36 # 37 # result = s.pop() 38 # print(result, s) 39 # 40 # result = s.pop() 41 # print(result, s) 42 # 43 # result = s.pop() 44 # print(result, s) 45 46 # s.clear() 47 # 清空一个集合中的所有元素 48 # result = s.clear() 49 # print(result, s) 50 51 52 53 # s = {1, 2, 3} 54 # s = frozenset([1, 2, 3]) 55 # print(s, type(s)) 56 57 # for v in s: 58 # print(v) 59 60 61 # 1. 生成一个迭代器 62 # its = iter(s) 63 64 # 2. 使用这个迭代器去访问(next(), for in) 65 # print(next(its)) 66 # print(next(its)) 67 # print(next(its)) 68 # print(next(its)) 69 70 # print("-------") 71 # 72 # for v in its: 73 # print(v)
# -----------------------------集合之间的操作---------------------------------- # 交集 # intersection(Iterable) # 字符串 # 只判定字符串中的非数字 # 列表 # 元组 # 字典 # 值判定key # 集合 # ... # 逻辑与 '&' # intersection_update(…) # 交集计算完毕后, 会再次赋值给原对象 # 会更改原对象 # 所以, 只适用于可变集合 # s1 = {"1", "2", "3", "4", "5"} # s1 = frozenset([1, 2, 3, 4, 5]) # s2 = {4, 5, 6} # result = s2.intersection_update(s1) # # result = s2 & s1 # print(result, type(result)) # print(s1, s2) # print(s1.intersection("123")) # print(s1.intersection({"1": "abc", "2": "12", "6": 18})) # print(s1.intersection(["1", "2", ["1", "2"]])) # 并集 # union() # 返回并集 # 逻辑或 '|' # 返回并集 # update() # 更新并集 # s1 = {1, 2, 3} # s1 = frozenset([1, 2, 3]) # s2 = {3, 4, 5} # result = s1.union(s2) # result = s1 | s2 # result = s1.update(s2) # print(result, s1) # 差集 # difference() # 算术运算符减 ‘-‘ # difference_update() # s1 = {1, 2, 3} # s2 = {3, 4, 5} # # # result = s1.difference(s2) # result = s1.difference_update(s2) # # result = s1 - s2 # print(result, s1) # 判定 # isdisjoint()两个集合不相交 # issuperset()一个集合包含另一个集合 # issubset()一个集合包含于另一个集合 s1 = {1, 2, 3, 4, 5} s2 = {3, 4, 5, 6} # print(s1.isdisjoint(s2)) # print(s1.issuperset(s2)) print(s2.issubset(s1))