所以我有这个字典列表:
[{u'id': u'53532', u'name': u'IMG_1.jpg'},
{u'id': u'53533', u'name': u'IMG_2.jpg'},
{u'id': u'53534', u'name': u'IMG_3.jpg'}]
此元组列表:
[(53532, image ,'https://sample.jpg'),
(53533, image ,'https://sample.jpg'),
(53534, image ,'https://sample.jpg')
]
如何将字典的id值与元组中的id匹配,以及如何匹配以将元组添加到匹配的字典中的新键中?
例如,如果它们匹配看起来像这样:
{u'id': u'53532',
u'name': u'IMG_1.jpg',
u'img_attr':(53532, image ,'https://sample.jpg')
}
答案 0 :(得分:3)
您可以使用id
作为键,将元组列表转换为具有元组值的字典:
d = {i: tuple(j) for i, *j in L_tup}
然后对结果使用列表理解:
res = [{**myd, 'img_attr': d[int(myd['id'])]} for myd in L_dict]
Python 2.x不支持序列和字典解压缩。在这里您可以使用:
d = {i: (j, k) for i, j, k in L_tup}
for myd in L_dict:
myd['img_attr'] = d[int(myd['id'])]
那么您想要的结果就是L_dict
。