Как 2 словаря Python становятся 1?

Возможный дубликат:
Python "expand" для словаря

Я знаю, что список Python может быть добавлен или расширен. Есть ли простой способ объединить два словаря Python с уникальными ключами, например:

basket_one = {'fruit': 'watermelon', 'veggie': 'pumpkin'}
basket_two = {'dairy': 'cheese', 'meat': 'turkey'}

Затем мне нужна одна большая корзина с едой:

basket = {
    'fruit': 'watermelon', 
    'veggie': 'pumpkin', 
    'dairy': 'cheese', 
    'meat': 'turkey'
}

Как я могу выполнить вышеописанное в Python?

Ответ 1

"Единый путь", не изменяющий ни один из входных диктов,

basket = dict(basket_one, **basket_two)

В случае конфликта элементы из basket_two будут basket_two элементы из basket_one. Что касается однострочников, то это довольно читабельно и прозрачно, и у меня нет никаких сложностей против того, чтобы использовать его в любое время из-за необходимости использовать сочетание двух других (любой читатель, который испытывает затруднения в понимании этого, на самом деле очень хорошо будет обслуживаться то, как это побуждает его или слышать, чтобы узнать о dict и ** форме ;-). Так, например, используется как:

x = mungesomedict(dict(adict, **anotherdict))

достаточно частые случаи в моем коде.

Примечание: в Python 3 это будет работать, только если каждый ключ в anotherdict является строкой. Смотрите эти альтернативы.

Ответ 2

basket = basket_one.copy()
basket.update(basket_two)

(если исходный файл basket_one не должен оставаться неповрежденным, вы можете оставить копию)