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)

 

猜你喜欢

转载自www.cnblogs.com/bluesl/p/9079551.html