1:add 2:clear 3:copy 浅拷贝 4:difference 判断两个set的不同,并且拿到他们的不同返回一个新列表 5:differnce_update:是将原来的set跟新,set.difference_update(['eric',blare'])把与原来相同的剔除,不返回一个新的set,只是跟新了原有的set(集 6:discard :移除元素 7:intersection 取交集,新建一个set 8:intersection_update() 跟新有原有的set,不返回 9:issubset:是否是有子集 10:isdisjoint :如果没有交集,返回True 11:issuperset:是否有父集 12:pop ,移除一个元素并且取得该元素 13:remove:只移除;不返回该值;remove('tony') 14:symmetric_difference_update:是将a-b 和b-a 得到的重新组合成一个set#并不能和差集一样(对称差)
15:update
代码如下:
s2 = set(['bluesli','blues','blare']) print(s2) print(s2.difference(('alex','blare'))) print(s2) s4 = s2.difference_update(['alex','blare']) print(s2) print(s4) s2 = set(['bluesli','blues','blare']) 数据库中原有 old_dict = { "#1": {'hostname': 'c1''', 'cpu_count': 2, 'mem_capicity': 80}, "#2": {'hostname': 'c1', 'cpu_count': 2, 'mem_capicity': 80}, "#3": {'hostname': 'c1', 'cpu_count': 2, 'mem_capicity': 80}, '#6':'jjj' } # cmdb 新汇报的数据 new_dict = { "#1": {'hostname': 'c1', 'cpu_count': 2, 'mem_capicity': 800}, "#3": {'hostname': 'c1', 'cpu_count': 2, 'mem_capicity': 80}, "#4": {'hostname': 'c2', 'cpu_count': 2, 'mem_capicity': 80}, '#5':11 } #通过交集得到需要跟新的 #通过差集得到 old = set(old_dict.keys()) new = set(new_dict.keys()) update_set = old.intersection(new) print(update_set) delete_set = old.symmetric_difference(update_set) print(delete_set) add_set = new.symmetric_difference(update_set) print(add_set) print(new.symmetric_difference(old)) new.symmetric_difference_update(old) print(new)