L-R*_*L-R 1 python zip dictionary list
我有这样的第一个清单
[{"name":"jon", "age":10}, {"name":"mary", "age":12}]
Run Code Online (Sandbox Code Playgroud)
第二个清单就像这样
[{"city":"nyc"}, {"city":"la"}]
Run Code Online (Sandbox Code Playgroud)
并希望将它们组合成一个单词列表.假设它们的长度也相同.
[{"name":"jon", "age":10, "city":"nyc"}, {"name":"mary", "age":12, "city":"la"}]
Run Code Online (Sandbox Code Playgroud)
谢谢!
使用list comprehension
:
>>> 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'}]
Run Code Online (Sandbox Code Playgroud)
由于Guido不喜欢 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'}]
Run Code Online (Sandbox Code Playgroud)