1. 程式人生 > >集合(set)的使用總結

集合(set)的使用總結

隨機 集合 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)的使用總結