zoukankan      html  css  js  c++  java
  • python习题:写一个函数打印两个字典中不一样的key和value

    ok_req={
    "version": "9.0.0",
    "is_test": True,
    "store": "",
    "urs": "",
    "device": {
    "os": "android",
    "imei": "99001062198893",
    "device_id": "CQliMWEyYTEzNTYyYzk5MzJmCTJlNmY3Zjkx",
    "mac": "02:00:00:00:00:00",
    "galaxy_tag": "CQliMWEyYTEzNTYyYzk5MzJmCTJlNmY3Zjkx",
    "udid": "a34b1f67dd5797df93fdd8b072f1fb8110fd0db6",
    "network_status": "wifi"
    },
    "adunit": {
    "category": "VIDEO",
    "location": "1",
    "app": "7A16FBB6",
    "blacklist": ""
    },
    "ext_param":{
    "is_start" : 0,
    "vId":"VW0BRMTEV"
    }
    }
    not_ok={
    "version": "9.0.0",
    "is_test": True,
    "urs": "",
    "store": "",
    "device": {
    "os": "android",
    "imei": "99001062298893",
    "device_id": "CQliMWEyYTEzNTYyYzk5MzJmCTJlNmY3Zjkx",
    "mac": "02:00:00:00:00:00",
    "galaxy_tag": "CQliMWEyYTEzNTYyYzk5MzJmCTJlNmY3Zjkx",
    "udid": "a34b1f67dd5797da93fdd8b072f1fb8110fd0db6",
    "network_status": "wifi"
    },
    "adunit": {
    "category": "VIDEO",
    "location": "1",
    "app": "7A16FBB6",
    "blacklist": ""
    },
    "ext_param": {
    "is_start": 0,
    "vid": "VW0BRMTEV"
    }
    }

    def compare(d1,d2):
    d1_keys = set(d1.keys())
    d2_keys = set(d2.keys())
    if d1_keys & d2_keys:
    for k in d1:
    d1_values = d1.get(k)
    d2_values = d2.get(k)
    # if d2_values:
    if type(d1_values) == dict:
    for k1 in d1_values:
    d1_values_1 = d1_values.get(k1)
    d2_values_1 = d2_values.get(k1)
    # if d2_values_1:
    if set(d1_values.keys()) & set(d2_values.keys()):
    if d1_values_1 != d2_values_1:
    print('d1中%s的值不一样,d1中%s的值是%s,d2中%s的值是:%s'%(k,k1,d1_values_1,k1,d2_values_1))
    else:
    print('d1中%s的值中不一致的key是'%(set(d1_values.keys())-d2_values.keys()))
    elif d1_values!=d2_values:
    print('d1和d2不一样的key是:%s,d1的value是:%s,d2的value是%s'%(k,d1_values,d2_values))
    else:
    print('d1和d2不一样的key是:%s'%(d1_keys - d2_keys))

    compare(ok_req,not_ok)
  • 相关阅读:
    Django 之Ajax&Json&CORS&同源策略&Jsonp用法
    Django 基于Ajax & form 简单实现文件上传
    自定义分页
    【学员管理系统】0x04 数据库连接优化
    【学员管理系统】0x03 老师信息管理功能
    【学员管理系统】0x02 学生信息管理功能
    【学员管理系统】0x01 班级信息管理功能
    webpack那些事儿
    前端发展趋势
    好人不一定能做一个优秀的管理者
  • 原文地址:https://www.cnblogs.com/blackbird0423/p/8310463.html
Copyright © 2011-2022 走看看