2016-01-28 82 views

回答

1

這是一個方法使用dict.update()。在我看來,這是一個非常可讀的解決方案:

data = [{'name': 'Jack'}, {'age': '28'}] 

new_dict = {} 
for d in data: 
    new_dict.update(d) 

new_data = [new_dict] 

print new_data 

輸出

[{ '年齡': '28', '名': '傑克'}]

1

你可以使用列表理解:

final_list = [{key: one_dict[key] 
       for one_dict in initial_list 
       for key in one_dict.keys()}] 

編輯:列表理解爲向後

1

如果您使用Python 3,則可以使用collections.ChainMap

>>> from collections import ChainMap 
>>> ld = [ 
...  { 'name': "Jack" }, 
...  { 'age': "28" } 
...  ] 
>>> [dict(ChainMap(*ld))] 

[{'name': 'Jack', 'age': '28'}] 
0
out = reduce(lambda one, two: dict(one.items() + two.items()), 
     [{'name': 'Jack'}, {'age': '28'}, {'last_name': 'Daniels'}]) 
print(out) 

輸出

{'age': '28', 'last_name': 'Daniels', 'name': 'Jack'} 
相關問題