如何合并字典列表

如何在 Python 中合并字典列表?我有两组数据:

a = [{'date':'1/1/2019'},{'date':'1/1/2020'},{'date':'1/1/2021'}]
b = [{'value':'2'},{'value':'5'},{'value':'6'}]

如何将其合并到以下结果中?

[{'date':'1/1/2019','value':'2'},
 {'date':'1/1/2020','value':'5'},
 {'date':'1/1/2021','value':'6'}]

回答

在 Python 3.9 中,联合运算符被添加到dict,所以这有效:

>>> a = [{'date':'1/1/2019'},{'date':'1/1/2020'},{'date':'1/1/2021'}]
>>> b = [{'value':'2'},{'value':'5'},{'value':'6'}]
>>> [x|y for x,y in zip(a,b)]
[{'date': '1/1/2019', 'value': '2'}, {'date': '1/1/2020', 'value': '5'}, {'date': '1/1/2021', 'value': '6'}]

有关详细信息,请参阅PEP 584。


回答

c = [{**a1, **b1} for a1,b1 in zip(a,b)]

这里我使用了列表推导,**a1 和 **b1 用于解包和映射两个字典列表的键值对


以上是如何合并字典列表的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>