Сообщить об ошибке.

Метод dict.update() в Python, обновление/дополнение словаря

Обновить или дополнить исходный словарь, ключами и значениями другого словаря

Синтаксис:

dict.update([other])

# новое в Python 3.9
dict |= other

Параметры:

Возвращаемое значение:

  • нет.

Описание:

Метод dict.update() обновляет/дополняет словарь dict с помощью пар ключ-значение из other, перезаписывая существующие ключи новыми значениями из other. Если ключ в словаре отсутствует, то он добавляется. Метод ничего не возвращает.

Другими словами, метод производит дополнение одного словаря другим, добавляя (если ключа нет) или перезаписывая (если ключ есть) значения ключей исходного словаря.

Метод dict.update() принимает либо другой объект словаря, либо итерируемую последовательность пар ключ/значение в виде кортежей или других итераций вида (key, value).

Если заданы ключевые аргументы, то словарь обновляется с помощью следующих пар ключ/значение:

>>> x = {'yellow':0, 'red':2}
>>> x.update(red=1, blue=2).
>>> x
# {'yellow': 0, 'red': 1, 'blue': 2}

Отличие операции обновления/дополнения словаря от операция объединения/слияния словарей заключается в том, что в результате операции объединения образуется новый словарь (исходные словари не изменяются), а при операции обновления/дополнения dict.update() изменяется исходный словарь dict.

Пример обновления/дополнения исходного словаря, ключами и значениями другого словаря:

>>> x = {'one': 10, 'two': 20, 'three': None}
>>> y = {'three': 30, 'four': 40, 'five': 50}
>>> x.update(y)
>>> x
# {'one': 10, 'two': 20, 'three': 30, 'four': 40, 'five': 50}

# новое в Python 3.9
>>> x |= y
>>> x
# {'one': 10, 'two': 20, 'three': 30, 'four': 40, 'five': 50}

>>> y = [('three', 3), ('four', 4), ('five', 5), ('six', 6)]
>>> x.update(y)
>>> x
# {'one': 10, 'two': 20, 'three': 3, 'four': 4, 'five': 5, 'six': 6}