Ответ 1
"Единый путь", не изменяющий ни один из входных диктов,
basket = dict(basket_one, **basket_two)
В случае конфликта элементы из basket_two
будут basket_two
элементы из basket_one
. Что касается однострочников, то это довольно читабельно и прозрачно, и у меня нет никаких сложностей против того, чтобы использовать его в любое время из-за необходимости использовать сочетание двух других (любой читатель, который испытывает затруднения в понимании этого, на самом деле очень хорошо будет обслуживаться то, как это побуждает его или слышать, чтобы узнать о dict
и **
форме ;-). Так, например, используется как:
x = mungesomedict(dict(adict, **anotherdict))
достаточно частые случаи в моем коде.
Примечание: в Python 3 это будет работать, только если каждый ключ в anotherdict
является строкой. Смотрите эти альтернативы.