python集合
集合(set)是一个无序的不重复元素序列。可以使用大括号 { } 或者 set() 函数创建集合
1、创建集合:注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典
s = set() #创建一个空集合 s1 ={'apple','orange','banana','pear'} #创建非空集合 print(s1)
2、集合的去重
s1 = {'1','2','3','1',32,32,1,2,1,3,4,'apple','1',1,'apple'} print(s1) #集合输出的时候默认去重 #输出:{32, 1, 2, '2', 3, 4, '1', '3', 'apple'}
3、集合取交集,集合a和b中都包含了的元素
s1 = {'1','2','3','1',32,32,1,2,1,3,4,'apple','1',1,'apple'} s2 = {'apple','1','pear','orange','5'} res =s1.intersection(s2) #两个集合取交集,没有交集时返回空 res1 = s1 & s2 #同上,也是取交集 print(res1)
4、集合取并集
s1 = {'1','2','3','1',32,32,1,2,1,3,4,'apple','1',1,'apple'} s2 = {'apple','1','pear','orange','5'} res2 = s1.union(s2) #两个集合取并集,去掉重复的,合在一起就可 res3 = s1 | s2 #同上,也是取并集 print(res2)
5、集合取差集
s1 = {'1','2','3','1',32,32,1,2,1,3,4,'apple','1',1,'apple'} s2 = {'apple','1','pear','orange','5'} res4 = s1 - s2 #两个集合取差集,打印出s1有,s2没有的元素 res5 = s2 - s1 #两个集合取差集,打印出s2有,s1没有的元素(那个集合在前面打印那个集合的) print(res5)
6、集合的对称差集,不同时包含于a和b的元素
s1 = {'1','2','3','1',32,32,1,2,1,3,4,'apple','1',1,'apple'} s2 = {'apple','1','pear','orange','5'} res6 = s1.symmetric_difference(s2) #集合取对称差集,就是将只在一个集合中的打印出来,包含s1的和s2的 res7 = s1 ^s2 #同上,取对称差集, print(res7)
7、集合操作之增加
s3 ={'vidna','pp','liul','sss','ddd'} res8 = s3.add('banaba')#集合增加元素,如果元素已存在,则不进行任何操作 res9 = s3.update(['222',3333])#可以添加元素,且参数可以是列表,元组,字典等 res10 = s3.update({'a':1,'b':2}) print(res10)#返回的是None print(s3)#返回集合的所有元素,包括加进去的
8、集合操作之删除
s3 ={'vidna','pp','liul','sss','ddd'} res11 = s3.remove('pp') #删除不存在的元素时,会报错 res12 = s3.discard('bbbb')#也可以删除元素,删除不存在的时候,不会报错 res13 = s3.pop() #随机删除一个元素 res14 = s3.clear()#清空集合 print(s3)#返回集合的所有元素,包括加进去的
9、集合的长度
print(len(s3))
10、集合的循环
for i in s3: print(i)
11、判断元素在集合中
s3 ={'vidna','pp','liul','sss','ddd'} if 'pp' in s3: print(True)