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)

 

posted @ 2018-11-27 11:44  blueteer  阅读(254)  评论(0编辑  收藏  举报