集合 set
- 集合是无序的
- 集合的值是唯一的
求两个集合的关系:
1 list1 = [1,4,5,7,3,6,7,9] 2 list2 = set([2,6,0,66,22,8,4]) 3 list3 = set([1,3,7]) 4 list4 = set([5,6,8]) 5 6 7 8 # 给列表去重: 把列表变成集合, 重复的值也自然就被去掉了 9 list1 = set(list1) 10 print(list1,type(list1)) 11 12 13 # 取两个列表的交集 14 list2 = set([2,6,0,66,22,8,4]) 15 print(list1.intersection(list2)) 16 17 18 # 取两个列表的并集 19 print(list1.union(list2)) # 两个列表中重复的元素只显示一次 20 21 22 # 取两个列表的差集(把两个列表的并集去掉交集部分) 23 print(list1.symmetric_difference(list2)) 24 25 26 # 取存在于列表1但不存在列表2的数据 27 print(list1.difference(list2)) 28 29 30 # 判断一个列表是不是另一个列表的子集 31 print(list1.issubset(list2)) 32 33 34 # 判断一个列表是不是另一个列表的父集 35 print(list1.issuperset(list2)) 36 37 38 # 判断两个集合是否有交集 39 print(list3.isdisjoint(list4))
1 # 交集 & 2 print(list1&list2) 3 4 5 # 并集 | 6 print(list2 | list1) 7 8 9 # difference 10 print(list1-list2) # in list1 but not in list2 11 12 13 # 对称差集 symmetric_difference ^ 14 print(list1 ^ list2)
集合的增删改查
1 # 增 (添加一个) 2 list1.add(999) 3 4 # 改 (添加多个) 5 list1.update([10,37,42]) 6 print(list1) 7 8 # 删 (一次只能删掉一个), 若指定元素不存在,会报错 9 list1.remove(10) 10 11 12 # 集体的长度 13 len(list1) 14 15 16 # 测试x是否是a的成员 17 x in a 18 19 20 # 测试x是否不是a的成员 21 x not in a 22 23 24 # 任意删除一个元素并返回被删除的元素 25 list.pop() 26 27 28 # 删除指定的元素,若指定的元素不存在不会报错 29 list1.discard(10)