1. 程式人生 > 實用技巧 >【python--集合】增刪改 交集 差集 並集 反交集 子集和超集

【python--集合】增刪改 交集 差集 並集 反交集 子集和超集

#
dic = {}
print(type(dic))
se = {}
print(type(se))
se = set()
print(type(se))
#
# # 建立空集合
se = set()
# se = set(iterable)
# 直接建立    集合的元素是不可變的 ---- int str  tuple  bool
se = {'nihao',999,(1,2,3,6)}
 # 集合本身是可變的  集合的元素是不可變的
 #  集合是無序的  自動去重
 #  列表轉集合    自動去重

#  集合的增 -----------------
#     add
se = {'
nihao',999,(1,2,3,6)} se.add('女神') print(se) # {(1, 2, 3, 6), '女神', 'nihao', 999} # update se = {'nihao',999,(1,2,3,6)} se.update('S') print(se) # {(1, 2, 3, 6), 'S', 'nihao', 999} # 集合的推導式 se = { i for i in range(9) } print(se) # {0, 1, 2, 3, 4, 5, 6, 7, 8} # 集合的刪---------------- # remove 刪除指定元素
se = {'nihao',999,(1,2,3,6)} se.remove('nihao') print(se) # {(1, 2, 3, 6), 999} # pop 隨即刪除一個元素 se = {'nihao',999,(1,2,3,6)} se.pop() # 不能傳引數 print(se) # clear 清空集合 # se = {'nihao',999,(1,2,3,6)} # se.clear() # print(se) # set() # del 刪除集合 # se = {'nihao',999,(1,2,3,6)} # del se
# print(se) # NameError: name 'se' is not defined # 集合的交集 獲取 兩個或多個集合的 交集 相同值 # & 或 intersection se1 = {1,2,3,6,5} se2 = {9,88,65,5,65} print(se1 & se2) # {5} print(se1.intersection(se2)) # {5} # 集合的並集 兩個 或多個 集合 並和在一起 # | 或 union se1 = {1,2,3,6,5} se2 = {9,88,65,5,65} print(se1|se2) # {1, 2, 3, 65, 5, 6, 9, 88} print(se1.union(se2)) # {1, 2, 3, 65, 5, 6, 9, 88} # 集合的差集 # - 或 differrence se1 = {1,2,3,6,5} se2 = {9,88,65,5,65} print(se1-se2) # {1, 2, 3, 6} print(se1.difference(se2)) # {1, 2, 3, 6} # 集合的反交集 獲取 去掉交集的兩個集合的並集 # ^ 或者 symmetric_difference se1 = {1,2,3,6,5} se2 = {9,88,65,5,65} print(se1^se2) # {65, 1, 2, 3, 6, 9, 88} print(se1.symmetric_difference(se2)) # {65, 1, 2, 3, 6, 9, 88} # 集合的子集和超集 set1 = {1,2,3} set2 = {1,2,3,4,5,6} print(set1 < set2) # Ture print(set1.issubset(set2)) # Ture # 這兩個相同,都是說明set1是set2子集。 print(set2 > set1) # Ture print(set2.issuperset(set1)) # Ture # 這兩個相同,都是說明set2是set1超集。 # frozenset 不可變集合 讓集合變成不可變型別 s = frozenset('barry') print(s,type(s)) # frozenset({'a', 'y', 'b', 'r'}) <class 'frozenset'>