python基礎5.2
阿新 • • 發佈:2018-12-31
集合
一 建立集合
變數名={元素1,元素2,元素3,...}
變數名=set(序列) 例如 變數名=set(元組,自動,字串)
set = {1,False,'hello'}
print(set) 注意,True 會轉換成數字1進行比較,False會轉換成數字0進行比較
print(type(set)) # <class 'set'>
集合與之前列表、元組類似,可以儲存多個數據,但是這些資料是不重複的(具有自動去重功能)。
s = 'hello' set1 = set(s) print(set) #{'e', 'l', 'o', 'h'}
將元組轉化為集合
tup = (1,2,3,4,3,2,1)
set = set(tup)
print(set) #{1,2,3,4}
建立一個空集合 使用set() 內建函式
set2 = set()
print(set2) #set()
注意:集合中的值 不能是 可變資料型別
set = {'A','B','c',[1,2,3]}
print(set1) 報錯
集合的新增
set1 = {'悟空','八戒'} set1.add('三藏') #{'八戒', '悟空', '三藏'} print(set1) set2 = {'悟空','白骨精'} set1.update(set2) 將set2中的元素加入到set1中 print(set1) {'三藏', '白骨精', '八戒', '悟空'}
集合的刪除
set1 = {'三藏', '白骨精', '八戒', '悟空'}
set1.pop() #pop 隨機刪除一個元素
print(set1) 結果 :{'白骨精', '悟空', '三藏'}
set1.remove('悟空') # remove 指定刪除內容
print(set1) 結果:{'白骨精', '悟空', '三藏'}
set1.clear() # clear 清空集合
print(set1) 結果#set()
del set1 直接從資料庫刪除set1
print(set1) 結果 報錯
集合的遍歷
set1 = {1, 2, 3, 4}
set2 = {3, 4, 5, 6}
取交集 # '&' 獲取公共部分
print(set1 & set2 )
print(set1.intersection(set2)) intersection 將後一個集合中的元素給到前一個集合當中去 集合自動去重
取反交集 '^' 獲取兩個集合的非公共部分
print(set1^set2) 結果 #{1, 2, 5, 6}
print(set1.symmetric_difference(set2)) symmetric_difference
取並集 “ | ” 獲取兩個集合的全部內容 自動去重
print(set1|set2) 結果 #{1, 2, 3, 4, 5, 6}
print(set1.union(set2)) set1.union(set2) 取並集 將兩個集合中的子元素放在一起 然後去重
取差集 “ - ” 做減法
print(set2-set1) 結果 #{5, 6}
print(set1.difference(set2)) 結果 #{1, 2} set1.difference(set2) 用前一個集合減去後一個集合
print(set1.issubset(set2)) 結果 #False
set3 = {1, 2, 3, 4}
set4 = {1, 2, 3, 4, 5, 6}
# 判斷是否是子集
print(set3.issubset(set4)) #True
print(set3 < set4) #True
#判斷是否是超級
print(set4>set3) #True
print(set4.issuperset(set3)) #True