集合-set
集合内的数据对象都是唯一的-作用:去重
集合是无序的存储结构,集合中的数据没有先后关系
集合内的元素必须是不可变对象
集合是可迭代的对象-即:可用for进行遍历
集合的作用主要有两个:去重,关系测试(交集,并集,差集,反向差集,子集
1 # 创建set 2 set1 = set() # 使用set方法创建 3 print(set1, type(set1)) 4 5 set2 = {"Bruce", "Amadeus"} # 使用{}及值创建,注-空{}创建的是字典 6 print(set2, type(set2)) 7 8 9 # set去重 10 list1 = [1, 2, 3, 4, 1, 2, 3, 4, 5, 6] 11 list1 = set(list1) 12 print(list1, type(list1)) 13 14 15 # set关系测试 16 list1 = [1, 2, 3, 4, 1, 2, 3, 4, 5, 6] 17 list2 = [1, 2, 5, 7, 8, 9] 18 list1 = set(list1) 19 list2 = set(list2) 20 print(list1, list2) # 执行结果中便于对比 21 22 print(list1.intersection(list2)) # 两个集合的交集-方法intersection() 23 print(list1 & list2) # 两个集合的交集-运算符 "&" 24 25 print(list1.union(list2)) # 两个集合的并集-方法union() 26 print(list1 | list2) #两个集合的并集-运算符 "|" 27 28 print(list1.difference(list2)) # 两个集合的差集-方法difference() 29 print(list1 - list2) # 两个集合的差集-运算符"-" 30 31 print(list1.symmetric_difference(list2)) # 两个集合的对称差集-方法sy-diff() 32 print(list1 ^ list2) # 两个集合的对称差集-运算符 "^" 33 34 list3 = {1, 2, 5, 7} 35 print(list2.issuperset(list3)) # list2是不是list3的父集-方法issuperset() 36 print(list3.issubset(list2)) # list3是不是list2的子集-方法issubset() 37 38 list4 = {3, 4, 6} 39 print(list3.isdisjoint(list4)) # 判定两个集合是否存在交集-方法isdisjoint() 40 41 42 # 修改set 43 44 list1.add(999) # 添加单个集合元素 45 list1.update([666, 777, 888]) # 添加多个集合元素 46 47 list1.remove(777) # 删除特定元素,如果没有会报错 48 list1.discard(888) # 删除特定元素,如果没有不会报错 49 list1.pop() # 随机删除元素 50 51 52 # 查询 53 54 len(list1) # 查询集合中元素个数 55 56 777 in list1 # 查询某元素是否在集合中 57 58 59 # 复制同列表