一个无知的程序袁 2021-07-19 17:49 采纳率: 60%
浏览 61
已结题

这个用python怎么写呢

b、查找如下字典中所有的_id,输出结果为字典
输入:
{ "Result":{ "FailureCode":0,"StatusCode":0,"UserInfo":{ "EmployeeID":1214, "EnterpriseAccount":"158833" } }, "Value":{ "describe":{ "tenant_id":"158833", "api_name":"AccountObj", "_id":"5a320c9c2848bdbc06a58a88", "fields":{ "lock_rule":{ "label":"锁定规则", "type":"lock_rule", "is_required":false, "api_name":"lock_rule", "_id":"5f7301970ea8660001c8ebc3" } "UDMoney1__c":{ "type":"currency", "label":"成交金额", "api_name":"UDMoney1__c", "_id":"5d27f2a22848bdfa3adb4c32" } }, "isHaveDetailObj":true, "isInApprovalWhiteList":false, "supportTag":true } }}

输出:
{"Value._id":"5a320c9c2848bdbc06a58a88","Value.fields.lock_rule._id":"5f7301970ea8660001c8ebc3","Value.fields.lock_rule.UDMoney1__c":"5d27f2a22848bdfa3adb4c32"
c、对给定的两个字典dist1和字典dist2进行如下处理,输出字典dist1中存在,字典dist2中不存在的key,并输出字典dist2中存在,字典dist1中不存在的key。
dist1={"layoutVersion":"V3","objectDataId":"9b5302ffe1394cafb1f5b1c3b53e803c","objectDescribeApiName":"AccountObj","fromRecycleBin":false,"management":false,"serializeEmpty1":false}
dist2={"layoutVersion2":"V3","objectDataId":"9b5302ffe1394cafb1f5b1c3b53e803c","objectDescribeApiName":"AccountObj","fromRecycleBin":false,"management":false,"serializeEmpty":false}

  • 写回答

2条回答 默认 最新

  • 关注

    你题目b应该用递归,代码如下:(如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮)

    import json
    jsonstr='''{
        "Result":{
            "FailureCode":0,
            "StatusCode":0,
            "UserInfo":{
                "EmployeeID":1214,
                "EnterpriseAccount":"158833"
            }
        },
        "Value":{
            "describe":{
                "tenant_id":"158833",
                "api_name":"AccountObj",
                "_id":"5a320c9c2848bdbc06a58a88",
                "fields":{
                    "lock_rule":{
                        "label":"锁定规则",
                        "type":"lock_rule",
                        "is_required":false,
                        "api_name":"lock_rule",
                        "_id":"5f7301970ea8660001c8ebc3"
                    },
                    "UDMoney1__c":{
                        "type":"currency",
                        "label":"成交金额",
                        "api_name":"UDMoney1__c",
                        "_id":"5d27f2a22848bdfa3adb4c32"
                    }
                },
                "isHaveDetailObj":true,
                "isInApprovalWhiteList":false,
                "supportTag":true
            }
        }
    }'''
    
    dict1=json.loads(jsonstr)
    dict2={}
    def op(dic,path):
        for k,v in dic.items():
            if k=="_id":
                dict2[path+k] = v
            if type(v)==dict:
                op(v,path+k+".")
    op(dict1,"")
    print(dict2)
    

    img


    你题目C是用set集合,求差集:

    dist1={"layoutVersion":"V3","objectDataId":"9b5302ffe1394cafb1f5b1c3b53e803c","objectDescribeApiName":"AccountObj","fromRecycleBin":False,"management":False,"serializeEmpty1":False}
    dist2={"layoutVersion2":"V3","objectDataId":"9b5302ffe1394cafb1f5b1c3b53e803c","objectDescribeApiName":"AccountObj","fromRecycleBin":False,"management":False,"serializeEmpty":False}
    
    s1=set(dist1)
    s2=set(dist2)
    print("字典dist1中存在,字典dist2中不存在的key:", s1-s2)
    print("字典dist2中存在,字典dist1中不存在的key:", s2-s1)
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月27日
  • 已采纳回答 7月21日
  • 创建了问题 7月19日

悬赏问题

  • ¥30 搭建面包板由NE555N和SN74LS90N组成的计时电路时出了问题
  • ¥15 无源定位系统的时差估计误差标准差
  • ¥15 请问这个代码哪里有问题啊
  • ¥20 python--version在命令端输入结果Python is not defined怎么办?还有pip不是exe格式是不是没安装成功?
  • ¥15 通过GaussianView进行结构微调消除虚频
  • ¥15 调用transformers库
  • ¥15 由于导出的数据名字中带有/,导致Matlab打不开,怎么办?
  • ¥15 新硬盘安装的程序总是崩溃,提示遇到错误
  • ¥15 openpcdet自制数据集评估bev精度和3d精度相同
  • ¥15 excel 上下按钮 显示行