集合set
python的set集合是一个无序不重复元素集。基本功能包括关系测试和消除重复元素。集合对象还支持union(并集)、intersection(交集)、difference(差集) 和 sysmmetric differencr(对称差集)等数学运算。
set 支持 x in set, len(set), for x in set。作为无序集合,set不记录元素的下标。
事例:
一、集合操作
1.创建集合
1 list1 = set('bigberg') 2 list2 = set('smallberg') 3 print(list1,type(list1)) 4 print(list2,type(list2))
2.集合添加 add将要传入的元素作为一个整体添加到集合中
1 a = set('lion') 2 a.add('rabbit') 3 print(a)
3.集合添加 update 将要传入的元素拆分,作为个体插入到集合中
1 b = set('lion') 2 b.update('rabbit') 3 print(b)
4.集合删除 remove
1 a = set('lion') 2 a.add('rabbit') 3 print(a) 4 5 a.remove('rabbit') 6 print(a)
二、集合关系
1.并集(去重)
1 a = {1,2,3,4,33,66} 2 b = {3,4,5,6,33} 3 4 print(a.union(b)) # print(a | b) {33, 2, 66, 3, 4, 1, 5, 6} #相同部分只保留一份2.交集
1 a = {1,2,3,4,33,66} 2 b = {3,4,5,6,33} 3 4 print(a.intersection(b)) 5 print(a & b) {33, 3, 4} {33, 3, 4}3.差集
1 a = {1,2,3,4,33,66} 2 b = {3,4,5,6,33} 3 4 print(a.difference(b)) 5 print(b.difference(a)) # print(b - a) {1, 2, 66} {5, 6}4.相对补集
1 a = {1,2,3,4,33,66} 2 b = {3,4,5,6,33} 3 4 print(a.symmetric_difference(b)) #去掉相同的元素 5 print(b.symmetric_difference(a)) {1, 2, 5, 6, 66} {2, 66, 5, 1, 6}5.子集 和 父集
1 a = {1,2,3,4,33,66} 2 b = {3,4,5,6,33} 3 4 print(a.issubset(b)) # 子集 5 print(b.issuperset(a)) # 父集 False False