python(9)——集合
阿新 • • 發佈:2018-09-12
tro 集合刪除 enc inter 不能 pri cti set 特點
已經學過的python數據類型有:int、float、str、list、dict、tuple、bool、set
集合set:
集合也是一種數據類型,也是用{}括起開,一個類似列表東西,它的特點是無序的,不重復的,也就是說集合中是沒有重復的數據
操作集合
#定義集合 jihe=set() #定義一個空的集合 set1={‘niuniu‘,‘huihui‘,‘hehe‘} #直接定義一個集合 list=[1,1,2,7,5,4,3,4] set2= set(list) #將list轉為集合 set3 = set([1,1,2,7,5,4,3,4]) #將list轉為集合 #集合添加元素 set1.add(‘hello‘) # #集合刪除元素 set1.remove(‘niuniu‘) #刪除指定元素 set1.pop() #隨機刪除一個元素 #集合循環 for i in set1: print(i)
集合的作用:
1、它可以把一個列表中重復的數據去掉,而不需要你再寫判斷
# 集合 也是用{}擴起開 # 天生可以去重 可循環 # # 集合是無序的 不能排序,要排序的話轉成list list=[1,1,2,2,3,3] res=set(list) #列表轉集合 print(res) #{1, 2, 3} list2=list(res) #集合轉列表 print(list2) #[1, 2, 3]
2、可以做關系測試,比如說有兩個班,一個性能測試班,一個是自動化班的,想找出來既學習了性能又學習了自動化的同學,就可以用集合
xingneng =[‘tanailing‘,‘yanfan‘,‘liurongxin‘,‘xiaohei‘] zdh=[‘tanailing‘,‘yanfan‘,‘tt‘] xingneng=set(xingneng) zdh=set(zdh) # #取交集 res=xingneng.intersection(zdh) res=xingneng & zdh print(‘交集‘,res) #交集 {‘tanailing‘, ‘yanfan‘}# #取並集--將兩個集合合並到一起,並去重 res= xingneng.union(zdh) res=xingneng | zdh print(‘並集‘,res) #並集 {‘xiaohei‘, ‘tt‘, ‘liurongxin‘, ‘tanailing‘, ‘yanfan‘} # #差集--a裏面有,b裏面沒有 res=xingneng.difference(zdh) res=xingneng - zdh print(‘差集‘,res) #差集 {‘xiaohei‘, ‘liurongxin‘} # #對稱差集--取兩個集合中不重復的 res=xingneng.symmetric_difference(zdh) res = xingneng ^ zdh print(‘對稱差集‘,res) #對稱差集 {‘xiaohei‘, ‘tt‘, ‘liurongxin‘}
import string l1=set(string.ascii_lowercase) l2={‘a‘,‘b‘,‘c‘} print(l2.issubset(l1)) #l2是否為l1的子集 True print(l2.issuperset(l1)) #l2是否為l1的父集 False print(l2.isdisjoint(l1)) #有交集,返回False;無交集,返回True False
python(9)——集合