1. 程式人生 > >python基礎5.2

python基礎5.2

集合

一 建立集合

 變數名={元素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