Идентификатор не может включать квадратные скобки. Это запрещено спецификацией .
Некоторые браузеры могут исправить ошибки и справиться, но вы должны исправить ваши данные вместо того, чтобы пытаться справиться с плохими данными.
a.update(b)
добавит ключи и значения от b к , перезаписывая, если уже будет значение для ключа.
Прекрасная жемчужина в этом закрытом вопросе :
«Единственный путь», не меняющий ни одной из входных диктовок, - это
basket = dict(basket_one, **basket_two)
Узнать, что ** basket_two
( ] **
) здесь означает .
В случае конфликта элементы из basket_two
будут иметь приоритет над элементами из basket_one
. Как идут однострочные, это довольно читабельно и прозрачно, и я не испытываю угрызений совести против его использования каждый раз, когда мне пригодится dict, представляющий собой смесь двух других (любой читатель, у которого есть проблемы с его пониманием, на самом деле будет очень хорошо обслужен тем, как это подсказывает ему или она хочет узнать о dict
и форме **
;-). Так, например, такие варианты использования, как:
x = mungesomedict(dict(adict, **anotherdict))
, довольно часто встречаются в моем коде.
Первоначально отправлено Алексом Мартелли
Примечание: В Python 3 это будет работать, только если каждый ключ в корзина_two - это строка
.