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) #要添加的集合