假设我有以下词典列表:
lst1 = [{'id': 1, 'x': "one"},{'id': 2, 'x': "two"}]
lst2 = [{'id': 1, 'y': "two"}, {'id': 2, 'y': "three"}]
我希望最终输出为:
[{'id': 1, 'x': "one", 'y': "two"}, {'id': 2, 'x': "two", 'y': "three"}]
我的第一个想法是以下列方式做到这一点:
result = [l1.update(l2) for l1, l2 in zip(lst1, lst2)]
print (result)
但正如预期的那样,它会返回:
[None, None]
这是因为dict1.update(dict2)
,其中dict1
和dict2
是两个随机词典,会为None
返回print(dict1.update(dict2))
,以便获取dict1
的更新版本1}}你必须做print(dict1)
。
如何获得我想要的最终输出(最好以简洁的方式)?
***** 更新 *****
好的,我还没有找到这篇文章(How to merge two dictionaries in a single expression?)。 因此,我的解决方案是:
result = [{**l1, **l2} for l1, l2 in zip(lst1, lst2)]