1. 程式人生 > >Python集合操作

Python集合操作

type 類型 並集 添加 判斷 union cti add 元組

#集合(確定的無序的一組數據)
#基本操作
#創建集合
#空集合
var = set()
print(var,type(var))

#具有數據的集合
var = {zhangwang,zhangbo,zhanglang}
print(var,type(var))

#成員檢測
result = zhangbo in var
print(result)

result = zhangsan not in var
print(result)

#集合推導式
var = {螞蚱,螳螂,蟈蟈,蛐蛐}

#基本的集合推導式
result = {*+i+* for
i in var} print(result) #帶有判斷條件的集合推導式 result = {i for i in var if i != 蛐蛐} print(result) #多循環集合推導式 colors = {red,blue,pink} sizes = {36,37,38,39} result = {c + str(s) for c in colors for s in sizes} print(result) #集合函數 ‘‘‘ #add() 向集合中添加元素 girls = {‘mf‘,‘sl‘,‘yj‘} girls.add(‘xf‘) print(girls) #pop() 隨機刪除集合中的一個元素 boys = {‘bd‘,‘zw‘,‘jl‘,‘zy‘} result = boys.pop() print(boys) print(result) #remove() 刪除集合中指定的元素 刪除不存在的元素會報錯 boys = {‘bd‘,‘zw‘,‘jl‘,‘zy‘} boys.remove(‘zy‘) print(boys) #discard() 刪除集合中指定的元素 刪除不存在的元素啥都不做 boys = {‘bd‘,‘zw‘,‘jl‘,‘zy‘} boys.discard(‘zy1‘) print(boys) #clear() 清空集合 boys = {‘bd‘,‘zw‘,‘jl‘,‘zy‘} boys.clear() print(boys) #copy() 復制集合 boys = {‘bd‘,‘zw‘,‘jl‘,‘zy‘} newboys = boys.copy() print(newboys)
‘‘‘ #difference() 計算2個集合的差集 dreamers = {ljl,wc,xy,zb,lsy} girls = {mmf,lsy,syj} result = dreamers.difference(girls)# result = a + b print(result) #difference_update() 計算2個集合的差集(差集更新操作) dreamers = {ljl,wc,xy,zb,lsy} girls = {mmf,lsy,syj} dreamers.difference_update(girls)
#a = a + b a += b print(dreamers) #union() 並集操作 dreamers = {ljl,wc,xy,zb,lsy} girls = {mmf,lsy,syj} result = dreamers.union(girls) print(result) #update() 並集更新操作 dreamers = {ljl,wc,xy,zb,lsy} girls = {mmf,lsy,syj} dreamers.update(girls) print(dreamers) #intersection() 計算2個集合的交集 dreamers = {ljl,wc,xy,zb,lsy} girls = {mmf,lsy,syj} result = dreamers.intersection(girls) print(result) #intersection_update 交集更新操作 dreamers = {ljl,wc,xy,zb,lsy} girls = {mmf,lsy,syj} dreamers.intersection_update(girls) print(dreamers) #超集和子集 boys = {zzy,yqw,dw,wzc,lyb,wym,chy} zoudu = {wzc,lyb,wym} girls = {lsy,mmf,syj} #issuperset() 檢測當前集合是否是另一個集合的超集 result = boys.issuperset(zoudu) print(result) #issubset() 檢測當前集合是否是另一個集合的子集 result = zoudu.issubset(boys) print(result) #isdisjoint() 檢測2個集合是否不存在交集 存在交集 False result = boys.isdisjoint(girls) print(result) #symmetric_difference() 對稱差集 dreamers = {ljl,wc,xy,zb,lsy} girls = {mmf,lsy,syj} result = dreamers.symmetric_difference(girls) print(result) #symmetric_difference_update() 對稱更新差集 dreamers = {ljl,wc,xy,zb,lsy} girls = {mmf,lsy,syj} dreamers.symmetric_difference_update(girls) print(dreamers) #冰凍集合 #冰凍集合是一種特殊的集合類型,也是集合(集合是列表的話,冰凍集合就是元組) #創建冰凍集合 #一般不會創建空的冰凍集合 var = frozenset() print(var,type(var)) #帶有數據的冰凍集合 var = frozenset((qs,szx,bjh,acs)) print(var,type(var)) #成員檢測 result = szx in var print(result) #遍歷冰凍集合 for i in var: print(i) #集合推導式(無法得到冰凍集合,可以得到集合,列表,元組,字典類型) result = {i for i in var} print(result,type(result)) #函數 #冰凍集合可以使用集合的函數(不修改集合本身的函數都可以使用) var = frozenset((qs,szx,bjh,acs)) #copy() result = var.copy() print(result) #集合操作 交集,並集,差集,對稱差集等 不修改冰凍集合本身就能使用:冰凍集合的操作結果都是冰凍集合 var1 = frozenset((qs,szx,bjh,acs)) var2 = {szx,bjh,lc,wb} #冰凍集合操作 result = var1.union(var2) print(result) #普通集合操作(冰凍集合是參考集合) result = var2.union(var1) print(result)

Python集合操作