Python练习三

三目运算符
a = raw_input("请输入a的值:")
b = raw_input("请输入b的值:")
result = 1 if a > b else 0
print result
View Code

 

寻找差异
# 数据库中原有
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 }
}
需要删除:?
需要新建:?
需要更新:?
c1 = "abc"
c2 = 'xyz'
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 }
            }
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 }
}
print "========数据库中原有old_dict============="
for item in old_dict:
    print item,old_dict[item]

s_old = set(old_dict.keys())
s_new = set(new_dict.keys())
print s_old,s_new

#将对键值转化为集合后,进行对比,删除多余的
#difference : A中存在,B中不存在

dif = s_old.difference(s_new)
print "old_dict中需要删除",dif
old_dict.pop(dif.pop())
print "========删除old_dict============="
for item in old_dict:
    print item,old_dict[item]

#对比字典中的每一项值
for item in new_dict:
    #print item
    key = item
    n = new_dict[item]
    o = old_dict.get(key)
    #print (n,d)
    # 判断新键是否存在于老数据库表中
    if o != None:
        for item in n:
            #print item, n[item]
            #print item, o[item]
            if n[item] == o[item]:
                #print "值一样,不用更新"
                pass
            else:
                #print "值不一样,要更新"
                o[item] = n[item]
    else:
        old_dict[item] = n
print "=========新汇报的数据============"
for item in new_dict:
    print item,new_dict[item]
print "========更新后的old_dict============="
for item in old_dict:
    print item,old_dict[item]
View Code

 



转载于:https://www.cnblogs.com/jessie-ji/p/6501556.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值