2015-01-05 71 views
0

我想使用Python結合數據。舉一個例子,我想使用Python添加JSON屬性?

[{'foo': 'something'}, {'foo': 'something else'}, {'foo': 'something else'}] 

[{'bar': 'else'}, {'bar': 'else else'}, {'bar': 'else else'}] 

這樣結合起來的東西:

[{'foo: 'something', 'bar': 'else'}, {'foo': 'something else', 'bar': 'else else'}, {'foo': 'something else', 'bar': 'else else'}] 

這會是可能在Python?

回答

1

您只需要爲每兩個輸入字典生成一個新的字典。使用zip()產生對:

result = [dict(a, **b) for a, b in zip(first, second)] 

其中firstsecond是你的輸入列表。 dict()創建一個現有字典的副本,但**b語法是添加其他密鑰的一些技巧。

1

的結果將是一個

a = [{'foo': 'something'}, {'foo': 'something else'}, {'foo': 'something else'}] 
b = [{'bar': 'else'}, {'bar': 'else else'}, {'bar': 'else else'}] 
for i,j in zip(a,b): 
    i.update(j) 
print a 
+0

這將更新就地第一個列表。請注意,'i = None'分配在這裏完全是多餘的。 @ user3587412:如果這個答案對你最有幫助,我很好,但你不能將*兩個答案都標記爲有用。它只是一個或另一個。 :-) –

+0

@ MartijnPieters-你是對的,是java用來初始化變量的人。 – ni3ns