码迷,mamicode.com
首页 > 编程语言 > 详细

python集合

时间:2018-11-27 12:23:26      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:不重复   输出   res   ddd   orange   序列   必须   int   rem   

集合(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)

 

python集合

标签:不重复   输出   res   ddd   orange   序列   必须   int   rem   

原文地址:https://www.cnblogs.com/blueteer/p/10020804.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!