'''集合的方法 set1.add() set1.update() set1.copy() set1.pop() set1.remove() set1.discard() set1.clear() set1.union() set1.issubset() set1.issuperset() set1.isdisjoint() set1.difference() set1.difference_update() set1.intersection() set1.intersection_update() set1.symmetric_difference() set1.symmetric_difference_update() ''' set1 = {1, 2, 3} # print(type(set1)) # 集合元素不得重复 # # 集合作用: 列表去重 list1 = [1, 2, 3, 2, 1, 3, 4, 'ppp'] list2 = list(set(list1)) print(list2) print(type(list2)) # 空集合 set() set2 = {} # 字典 print(type(set2)) set3 = set() # 空集合避免和字典搞混得用这种方式创建 print(type(set3)) # add():添加一个数据 set1.add(1000) # 同样添加的数随机放 print(set1) # print(set1[0]) # 集合没有下标,不支持排序,无序 # update() # 追加多个数据,参数是一个列表 set1.update([1000]) set1.update([1000, 2000, 3000]) # update()里面添加的是一个序列,注意这里是无序的添加 set1.update('python') # 每次添加的位置不一样 print(set1) # remove():没有这个数据是报错 set1.remove(1000) # 同之前的remove(要移除的数据),没有会报错 print(set1) # discard(): 删除指定数据,如果没有这个数据,不做任何事 set1.discard('p') print(set1) # pop():返回值,集合中,用pop()删除数据,删除的是第一个数据 num = set1.pop() print(num) print(set1) # 集合推导式 # 列表推导式 字典推导式 集合推导式 set3 = {i for i in range(10) if i % 2 == 0} print(set3) # & 交集 set10 = {1, 2, 3, 4} set11 = {2, 3, 4, 5, 6} print(set10 & set11) # | 并集(包含所有不重复数据) print(set10 | set11) # print(set10 | list1) # 符号操作 print(set10.union(list1)) # union()具有相同的方法 print(set10.union(set11)) # - # 差集:取前面这个集合有的数据,后面没有的数据 print(set10 - set11) print(set11 - set10)