Skip to main content
 首页 » 编程设计

python之将 2 个字典列表压缩为 1

2025年05月04日10leader

我有一个像这样的第一个列表

[{"name":"jon", "age":10}, {"name":"mary", "age":12}] 

还有第二个这样的列表

[{"city":"nyc"}, {"city":"la"}] 

并想将它们组合成一个字典列表。假定它们的长度也相同。

[{"name":"jon", "age":10, "city":"nyc"}, {"name":"mary", "age":12, "city":"la"}] 

谢谢!

请您参考如下方法:

使用列表理解:

>>> lis1 = [{"name":"jon", "age":10}, {"name":"mary", "age":12}] 
>>> lis2 = [{"city":"nyc"}, {"city":"la"}] 
>>> [dict(x, **y) for x, y in zip(lis1, lis2)] 
[{'city': 'nyc', 'age': 10, 'name': 'jon'}, {'city': 'la', 'age': 12, 'name': 'mary'}] 

作为Guido dislikes dict(x, **y),另一种选择是:

>>> [dict(x.items() + y.items()) for x, y in zip(lis1, lis2)] 
[{'city': 'nyc', 'age': 10, 'name': 'jon'}, {'city': 'la', 'age': 12, 'name': 'mary'}]