python如何覆盖特定的参数
天蓬老师
天蓬老师 2017-04-17 17:38:44
[Python讨论组]

第一个data

{
"data1": [
    {
      "id": "123456",
      "create_time": "2016-03-28 11:41:00",
      "phone": "138888****",
      "name": "路人甲",
    },
    {
      "id": "456789",
      "create_time": "2016-03-30 11:41:00",
      "phone": "138888****",
      "name": "炮兵灰",
    }
  ]
}

第二个data

{
"data2": [
    {
      "id": "88888888",
      "create_time": "2016-03-28 11:41:00",
      "phone": "138888****",
      "name": "路人甲",
    },
    {
      "id": "9999999",
      "create_time": "2016-03-30 11:41:00",
      "phone": "138888****",
      "name": "炮兵灰",
    }
  ]
}

data1的id是正确的
data2的id是要被替换的

data1如何判断 name和phone 来覆盖data2的id
(因为单纯用name或者phone其中一个 会导致重复错误 因为不是唯一的~)

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(2)
迷茫

只能遍历两个data来实现

for d2 in my_dict['data2']:
    for d1 in my_dict['data1']:
        if d2['phone']==d1['phone'] and  d2['name']==d1['name']:
            d2['id']=d1['id']
            break
    else:
        print 'can not find the same msg in data1,msg:',d2

希望可以帮到你。

高洛峰

print data2.update(data1)

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号