我正在尝试将两个列表转换为更复杂的地图。
我有两个列表,l1 和 l2
l1 = ["a", "b", "c"]
l2 = ["1", "2", "3"]
keys = ["aaa", "bbb"]
result = dict(zip(keys, [l1, l2]))
其中 result 是 {'aaa': ['a', 'b', 'c'], 'bbb': ['1', '2', '3']}
但我想要的是:
[
{
"aaa": "a",
"bbb": "1",
},
{
"aaa": "b",
"bbb": "2",
},
{
"aaa": "c",
"bbb": "3",
},
]
如何在 Python 中执行此操作?
答案 0 :(得分:2)
你可以使用推导来实现它
result = [{k: el[i] for i, k in enumerate(keys)} for el in zip(l1, l2)]
答案 1 :(得分:1)
不使用 enumerate
的版本:
result = [{k:v for k,v in zip(keys,x)} for x in zip(l1,l2)]