Python学习笔记——基础篇1【第三周】——set集合

set集合

 

不允许重复的元素出现(相当于特殊的列表)

set
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
练习:寻找差异
# 数据库中原有
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 }
}
 
# 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 }
}
 
需要删除:?
需要新建:?
需要更新:? 注意:无需考虑内部元素是否改变,只要原来存在,新汇报也存在,就是需要更新
demo

 

3、新无,原来有 =》 原来删除
三个列表:
      要更新的数据列表
      要删除的数据列表
      要添加的数据列表
交集、差集
old_dict.keys()
new_dict.keys()
交集:要更新的数据
差集: 原来要更新

old = set(old_dict.keys())   #新的集合
new = set(new_dict.key())  #原来的集合
update_set = old.intersection(new)  #要更新 (交集)
delete_set = old.symmetric_difference(update_set)  #要删除(差集)
add_set = new.symmetric_difference(update_set) #要添加的集合

 

 

 

posted @ 2016-04-23 20:17  Yared  阅读(279)  评论(0编辑  收藏  举报