集合也是一种数据类型,一个类似列表东西,它的特点是无序的,不重复的,也就是说集合中是没有重复的数据
集合的作用:
1、它可以把一个列表中重复的数据去掉,而不需要你再写判断
2、可以做关系测试,比如说有两个班,一个性能测试班,一个是接口测试班的,想找出来既学习了性能又学习了接口测试的同学,就可以用集合
一、集合的定义
s = set() #定义空集合 s1={'hehe','hehe1','hehe3'} #直接定义一个集合 list = [2,3,1,2,3,4] #定义一个list s_list = set(list) #将list转成集合 set1 = set([1,3,4,5,6]) #这种方式和上面的都是把list转换成一个集合
二、新增集合元素
新增集合元素,可使用add和update,这二者间区别用下面两个例子说明
s = {'a','b','c','d'} s.add('123') print(s) #打印结果为:{'c', 'd', 'b', '123', 'a'} s.update('456') #update是把另外一个集合加进去 s.update({7,8,9}) print(s) #打印结果为:{'d', '5', 'b', 'c', 'a', '6', '4'} print(s) #打印结果为:{'c', 'b', 7, 8, 'a', 'd', 9}
三、删除集合元素
s.remove('d') #删除指定元素,删除不存在的元素会报错 s.pop() #随机删除一个元素 s.discard('kfc') #如果删除的元素存在,删除,不存在不做处理 print(s) del s # 删除集合
四、集合的常用操作
4.1 交集:就是两个集合相同的元素
s2 = set('1234445566778') s3 = {'1','1','3','4','5','6','7','9'} print(s3 & s2) #取交集 print(s3.intersection(s2)) #取交集 print(s2.isdisjoint(s3)) #判断s2和s3是否没有交集,没有交集的话返回True,有交集则返回False
4.2 并集:就是把两个集合合并到一起,然后去重
print(s2 | s3) #取并集 print(s2.union(s3)) #取并集
4.3 差集:A,B是两个集合,以属于A而不属于B的元素为元素的集合称为A与B的差集
s4 = {1,2,3} s5 = {1,4,6} print( s4 - s5) #取差集 s4里有,s5里没有的 print(s4.difference(s5)) #取差集 s4里有,s5里没有的 #打印结果:{2,3}
4.4 对称差集:就是合并两个集合,然后去掉俩集合里面都有的
print(s4 ^ s5) print(s4.symmetric_difference(s5)) #打印结果:{2, 3, 4, 6}