python set 常用方法
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)
posted on 2018-05-23 21:39 blueslichanghui 阅读(182) 评论(0) 收藏 举报
浙公网安备 33010602011771号