# 集合:可变的数据类型,里面存的元素必须是不可变的数据类型,集合无序,但是不重复(功能去重复) # 列表转化为集合就可以去重复 # {} # set = ({1,2,3}) # print(set) # 结果{1, 2, 3} 这就是集合 如果放入可变元素 会报错 # set1 = {'elsa','alex','tom','mike','mike'} # 如果有重复的元素 可自动去重复 # 增 # add 增加 # set1.add('女神') # print(set1) # 结果 {'mike', '女神', 'alex', 'tom', 'elsa'} 加入无序是随机的 # # update # set1.update('abc') # print(set1) # 结果 {'a', '女神', 'elsa', 'b', 'c', 'alex', 'mike', 'tom'} # 删 # set1.pop() # 随机删除集合中的元素 返回值 # print(set1.pop()) # print(set1) # set1.remove('mike') # 按元素删除 # print(set1) #{'elsa', 'alex', 'tom'} # set1.clear() #清空集合 # print(set1) # 结果 set() # # del(set1) # 删除集合 # print(set1) # 查 # 只能用for循环来查询 # for i in set1: # print(i) # 结果 且 顺序是随机的 没有索引、键值对 # alex # tom # elsa # mike # set1 = {1,2,3,4,5,6} # set2 = {4,5,6,7,8,9} # 求集合正交集 “&” 交集的连接符 intersection # set3 = set1 & set2 # print(set1 & set2) # 结果 {4, 5, 6} # print(set1.intersection(set2)) # 结果 {4, 5, 6} # print(set3) # 结果 {4, 5, 6} # 求集合反交集 “^” 反交集连接符 # print(set1 ^ set2) # 结果 {1, 2, 3, 7, 8, 9} # 差集 # print(set1 - set2) # 结果 {1, 2, 3} set1独有的元素 # print(set2 - set1) # 结果 {8, 9, 7} set2独有的元素 # 求集合并集 “|” 管道符 union 连接 # print(set1 | set2) # 结果 {1, 2, 3, 4, 5, 6, 7, 8, 9} # print(set2.union(set1)) # 结果 {1, 2, 3, 4, 5, 6, 7, 8, 9} # 子集与超集 # set1 = {1,2,3} # set2 = {1,2,3,4,5,6} # print(set1 < set2) # 结果 True 说明 set1是ste2的子集 # print(set2 > set1) # 结果 True 说明 set2是ste1的超集 # 列表去重 # li = [1,23,34,34,33,22,22,33] # m = set(li) # 转化为集合去重 结果 {1, 34, 33, 22, 23} # li = list(m) # 在将集合转化为列表 结果 [1, 34, 33, 22, 23] # print(li) # 冻结集合 # s = frozenset('abcd') # print(s) # 结果 frozenset({'c', 'a', 'b', 'd'}) # 无序 且 为只读 不能 增、删