使用其他列表中的其他词典更新列表中的词典

时间:2018-06-05 16:47:55

标签: python dictionary

假设我有以下词典列表:

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),其中dict1dict2是两个随机词典,会为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)]

0 个答案:

没有答案