2016-12-25 6 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

, но это добавляет мое новое значение. Я ищу какую-то функцию prepend.

Извинения, если я не знаю.

Заранее благодарен!

+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] 
Смежные вопросы