【发布时间】:2015-04-23 20:30:18
【问题描述】:
我有这个字典列表:
list_of_ds = [
{'a': [1, 2], 'b': [4, 5], 'c': [6, 7]},
{'a': [4], 'b': [56], 'c': [46]},
{'a': [92], 'b': [65], 'c': [43]}
]
我想要这个作为输出:
{'a': [1, 2, 4, 92], 'b': [4, 5, 56, 65], 'c': [6, 7, 46, 43]}
到现在……
我试过了
d_of_ds = reduce(lambda d1, d2: d1.update(d2), list_of_ds)
给:AttributeError: 'NoneType' object has no attribute 'update'
我试过了
d_of_ds = reduce(lambda d1, d2: d1.update(d2) or d1, list_of_ds, {})
覆盖每次迭代:{'a': [92], 'b': [65], 'c': [43]}
我试过了
d_of_ds = {k: v for d in list_of_ds for k, v in d.items()}
覆盖每次迭代:{'a': [92], 'b': [65], 'c': [43]}
【问题讨论】:
-
你为什么要尝试这些疯狂的单衬里?寻找一个简单的基于循环的解决方案。
标签: python dictionary merge