使用键将列表转换为字典列表

时间:2021-06-03 12:42:32

标签: python

我正在尝试将两个列表转换为更复杂的地图。

我有两个列表l1l2

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 中执行此操作?

2 个答案:

答案 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)]