2016-12-25 70 views
0

(蟒蛇)蟒蛇3前置字典使用

所以我有兩個字典

[{'code': '123456', 'reward': 'awesome reward', 'source': 'awesome source'}, 
{'code': '12345', 'reward': 'some reward', 'source': 'some source'} 
] 

[ {'code': '123456', 'reward': 'awesome reward', 'source': 'awesome source'} 
    {'code': '12345', 'reward': 'some reward', 'source': 'some source'}, 
    {'code': '54321', 'reward': 'another reward', 'source': 'another source'} 
] 

對於未來的目的,我想在最後一個對象第二個字典是「新」對象

我想創建第三個(或新的)的字典在頂部的最新條目(字典2的最後一個)是

[ {'code': '54321', 'reward': 'another reward', 'source': 'another source'}, 
    {'code': '123456', 'reward': 'awesome reward', 'source': 'awesome source'} 
    {'code': '12345', 'reward': 'some reward', 'source': 'some source'} 
] 

我可以合併兩個庫這裏使用蘇里亞的建議:Combine two dictionaries and remove duplicates in python

但這附加了我的新價值。我正在尋找某種前置功能。

道歉,如果我不清楚。

提前致謝!

+4

你有兩個*列表*,每個*含*字典。 –

回答

2

您的訂購與列表。您可以通過分配給[0:0]片預先考慮到一個列表:

a = [1, 2, 3] 
a[0:0] = [4] 
# a is now [4, 1, 2, 3] 
1

注意list s爲附加效率非常高,非常高效的預謀。但是,您可以在前面加上這樣的:

list.insert(0, element_to_insert) 
+0

謝謝,這對我有用! (我現在還無法登錄) 大家都謝謝你的幫助! – Chrizlee

1

你可以簡單地拼接名單的元素:

[x for x in d2 if x not in d1] + [x for x in d2 if x in d1]