更Pythonic的方式将字典列表合并为一个?

2 投票
2 回答
1808 浏览
提问于 2025-04-16 16:44

有没有更符合Python风格的方法来做到这一点?我知道肯定有。

for form in forms:
   d[form.keys()[0]] = form.values()[0]

谢谢!

2 个回答

1
reduce(lambda acc,form: dict(acc,**form),forms)

补充说明:我通常会用 dict(x,**y) 这个方法来合并两个字典,而不是用 x.update(y),因为大多数情况下我不想直接在原来的字典上做修改。不过在这个例子里,这个选择其实没什么影响。

6

如果你想让 d 包含 forms 中所有字典的键值对:

for form in forms:
    d.update(form)

撰写回答