python集合
集合(set)是一個無序的不重復元素序列。可以使用大括號?{ }?或者?set()?函數(shù)創(chuàng)建集合
1、創(chuàng)建集合:注意:創(chuàng)建一個空集合必須用?set()?而不是?{ },因為?{ }?是用來創(chuàng)建一個空字典
s = set() #創(chuàng)建一個空集合 s1 ={'apple','orange','banana','pear'} #創(chuàng)建非空集合 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])#可以添加元素,且參數(shù)可以是列表,元組,字典等 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、集合的循環(huán)
for i in s3:print(i)11、判斷元素在集合中
s3 ={'vidna','pp','liul','sss','ddd'} if 'pp' in s3:print(True)?
轉(zhuǎn)載于:https://www.cnblogs.com/blueteer/p/10020804.html
總結(jié)
- 上一篇: 有向图的邻接表
- 下一篇: python中的浅拷贝和深拷贝