如何组合两个词典列表

时间:2011-07-30 13:12:34

标签: python

我如何将这两者与python结合起来?

d1 = [{a:1, b:2},{a:2,b:5}]
d2 = [{s:3, f:1},{s:4, f:9}]

如果d1,我只想添加d2,所以:

d2 = [{a:1, b:2},{a:2,b:5},{s:3, f:1},{s:4, f:9}]

3 个答案:

答案 0 :(得分:6)

d1.extend(d2)但是你要合并两个列表而不是两个词典

答案 1 :(得分:6)

你的问题的正确答案是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

答案 2 :(得分: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