我將如何將這兩個與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'} –