我有一个像确保列表中的所有类型的字典具有相同键
[{'x': 42}, {'x': 23, 'y': 5}]
使用词典列表,并希望确保所有类型的字典按键相同,与None
值如果该键不存在在原始字典中。所以上面的列表应该变成
[{'x': 42, 'y': None}, {'x': 23, 'y': 5}]
什么是最美丽和pythonic的方式来做到这一点?目前的做法:
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)
但特别是前两行似乎有点笨拙。想法?
也许你应该使用命名的元组而不是字典。 – kennytm
哪个字典是“原始的”? –
没有*'原创'*我认为 – jamylak