首页 > python如何覆盖特定的参数

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其中一个 会导致重复错误 因为不是唯一的~)


只能遍历两个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)

【热门文章】
【热门文章】