如何合并两个字典列表
我该如何用Python把这两个结合起来呢?
d1 = [{a:1, b:2},{a:2,b:5}]
d2 = [{s:3, f:1},{s:4, f:9}]
我只是想把d2加到d1的末尾,也就是说:
d2 = [{a:1, b:2},{a:2,b:5},{s:3, f:1},{s:4, f:9}]
3 个回答
4
这是我在Python 2.7中做到这一点的方法:
combined = {}
combined.update(d1)
combined.update(d2)
最好定义一个工具函数来完成这个任务:
def merge(d1, d2):
''' Merge two dictionaries. '''
merged = {}
merged.update(d1)
merged.update(d2)
return merged
6
不过,d1.extend(d2)
是在合并两个列表,而不是两个字典。
7
你问的问题的正确答案是 dict.extend()(正如 Ant 所指出的)。不过你给的例子是关于列表拼接的,而不是字典扩展。
所以,如果两个参数都是列表,你可以像下面这样把它们拼接在一起:
> d1 + d2
[{'a': 1, 'b': 2}, {'a': 2, 'b': 5}, {'s': 3, 'f': 1}, {'s': 4, 'f': 9}]
这和调用 list.extend() 是一样的:
L.extend(iterable) -- extend list by appending elements from the iterable