集合(set)的使用總結
阿新 • • 發佈:2018-01-09
隨機 集合 ron 同時 tro 打印 int 無序 無法
集合的特點:去重、無序,因此無法通過下標取值。
1. 定義集合
s = set() #定義空的集合 s2 = {‘1‘,‘2‘,‘3‘} # 不是key -value形式的話就是集合,不是字典 s3 ={‘1‘,‘2‘,‘3‘,‘5‘,‘3‘} print(s3) #打印出來後會去除重復的值 {‘3‘, ‘1‘, ‘5‘, ‘2‘} ls = [1,2,3,4,5,6,5] set(ls) #將list強制轉換成集合,可以進行去重 print(set(ls)) s4 = ‘abcdfegabc‘ set(s4) # set可以進行集合運算 print(set(s4)) #{‘c‘, ‘f‘, ‘b‘, ‘g‘, ‘e‘, ‘a‘, ‘d‘}
2. 操作集合
增加&刪除:
s3 ={‘1‘,‘2‘,‘3‘,‘5‘} s3.add(‘1‘) #向集合中添加值,如果是重復的話還是會把重復的去除,因為集合無序所以輸出時各個值的位置不定,可能為 {‘2‘, ‘3‘, ‘1‘, ‘5‘} print(s3) s3.remove(‘1‘) #刪除值 print(s3) s3.pop()#隨機刪一個值 print(s3)
交集&並集&差集&對稱差集:
s2 = {‘1‘,‘2‘,‘3‘} s3 ={‘1‘,‘2‘,‘5‘} #交集 a = s2.intersection(s3) #取交集, s2.intersection(s3) 與 s3.intersection(s2) 一樣print(a) #{‘2‘, ‘1‘} b = s2.intersection(s3) print(b) #{‘2‘, ‘1‘} print(s2 & s3) #取交集 {‘2‘, ‘1‘} #並集 print(s2.union(s3)) #取並集 {‘2‘, ‘5‘, ‘3‘, ‘1‘} print(s2|s3)#取並集 {‘2‘, ‘5‘, ‘3‘, ‘1‘} #差集 print(s2.difference(s3)) #取s2中存在,s3 不存在的,#取差集 {‘3‘} print(s2 - s3) #取差集 {‘3‘} print(s3 - s2) # {‘5‘} #對稱差集,取s2, s3 中不同時存在的元素 print(s2 ^ s3) # {‘3‘, ‘5‘}
集合(set)的使用總結