有没有一种方法可以使用glom库将字典列表合并为一个字典?

时间:2019-02-19 08:51:01

标签: python

我正在使用glom项目。

是否可以将[{"id": 1, "name": "foo"}, {"id": 2, "name": "bar"}]转换为{1: "foo", 2: "bar"}

1 个答案:

答案 0 :(得分:5)

新的glom版本(19.2.0)允许使用Merge合并两个字典。

from glom import glom, T, Merge

target = [{"id": 1, "name": "foo"}, {"id": 2, "name": "bar"}]
spec = Merge([{T["id"]: T["name"]}])

glom(target, spec)
# {1: 'foo', 2: 'bar'}

文档:https://glom.readthedocs.io/en/latest/api.html?highlight=merge#glom.Merge