python习题:对比两个字典内容哪里不一样 并把不 一样的key和value打印出来

# 对比两个字典内容哪里不一样 并把不 一样的key和value打印出来
#需求分析:1、传入两个参数
# 2、循环第一个字典 取出来一个key,然后和第二个字典的key进行对比


d1 = {'name':'sherry','age':18,'addr':'昌平区','job':'manger'}
d2 = {'name':'sherry','age':18,'addr':'北京市昌平区','phone':18819999999}
def compare(d1,d2):
for k1 in d1:
v1 = d1.get(k1)
v2 = d2.get(k1)
if v2:
if v1 != v2:
print('value不一样的key是%s,v1是%s,v2是%s'%(k1,v1,v2))
else:
print('key不一样的是%s'%k1)
compare(d1,d2) #这个代码不能判断d2和d1不同的,简单的办法是反过来传参 compare(d2,d1)
compare(d2,d1)
#打印结果:
# value不一样的key是addr,v1是昌平区,v2是北京市昌平区
# key不一样的是job
# key不一样的是phone
# value不一样的key是addr,v1是北京市昌平区,v2是昌平区
原文地址:https://www.cnblogs.com/blackbird0423/p/8275847.html