私は次のような辞書のリストを持っています
[{'x': 42}, {'x': 23, 'y': 5}]
None
そして、すべてのdictが同じキーを持ち、キーが元のdictに存在しなかったかどうかの値を持っていることを確認したい。したがって、上記のリストは次のようになります。
[{'x': 42, 'y': None}, {'x': 23, 'y': 5}]
これを行うための最も美しく、Pythonの方法は何ですか?現在のアプローチ:
keys = reduce(lambda k, l: k.union(set(l)), [d.keys() for d in my_list], set())
new_list = [dict.fromkeys(keys, None) for i in xrange(len(my_list))]
for i, l in enumerate(my_list):
new_list[i].update(l)
しかし、特に最初の2行はちょっと不器用に見えます。アイデア?