1. ホーム
  2. python

[解決済み] ディクテのリストを1つのディクテにマージするには?

2022-04-15 13:12:39

質問

このようなディクショナリーのリストはどのようにすればよいのでしょうか?

[{'a':1}, {'b':2}, {'c':1}, {'d':2}]

...このように一つのdictにまとめることができます。

{'a':1, 'b':2, 'c':1, 'd':2}

解決方法は?

これは、どのような長さの辞書に対しても有効です。

>>> result = {}
>>> for d in L:
...    result.update(d)
... 
>>> result
{'a':1,'c':1,'b':2,'d':2}

として 理解 :

# Python >= 2.7
{k: v for d in L for k, v in d.items()}

# Python < 2.7
dict(pair for d in L for pair in d.items())