我将如何将这两个与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}]
我将如何将这两个与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}]
d1.extend(d2)
但你合并两个列表而不是两个字典
正确回答你的问题是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
这是我如何做到这一点的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
清洁,涵盖所有问题。 – kcrossen
>>> d1 = [{'a':1,'b':2},{'a':2,'b':5}] >>> d2 = [{'s':3,'' f':1},{'s':2,'f':9}] >>> l3 = {} >>> l3.update(l1) >>> l3 {'a':' b'} >>> l3.update(l2) >>> l3 {'a':'b'} –