dict.update()

Метод update() обновляет словарь, добавляя в него пары из другого словаря, итерируемого объекта пар или именованных аргументов. Если ключ уже существует — его значение перезаписывается; новые ключи добавляются. Изменения происходят на месте, метод возвращает None.

Сигнатура

dict.update([other])
dict.update(**kwargs)

Параметры

  • other — словарь либо итерируемый объект, содержащий пары (key, value): список кортежей, zip-объект и т. п.

  • **kwargs — произвольные именованные аргументы, которые также станут парами «ключ — значение».

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

Возвращает None. Исходный словарь изменяется на месте.

Примеры использования

Пример 1. Обновление словарём.

settings = {"baud": 9600, "mode": "input"}
settings.update({"baud": 115200, "pin": 13})
print(settings)
{'baud': 115200, 'mode': 'input', 'pin': 13}

Пример 2. Обновление списком пар.

d = {"a": 1}
d.update([("b", 2), ("c", 3)])
print(d)
{'a': 1, 'b': 2, 'c': 3}

Пример 3. Обновление именованными аргументами.

robot = {"name": "Phobo"}
robot.update(wheels=2, sensors=3, battery="Li-ion")
print(robot)
{'name': 'Phobo', 'wheels': 2, 'sensors': 3, 'battery': 'Li-ion'}

Пример 4. Слияние двух словарей через zip.

names = ["LED", "BTN", "BUZZER"]
pins = [13, 2, 8]
config = {}
config.update(zip(names, pins))
print(config)
{'LED': 13, 'BTN': 2, 'BUZZER': 8}

Пример 5. Перезапись существующих ключей.

defaults = {"speed": 100, "mode": "auto", "debug": False}
user = {"speed": 200, "debug": True}
defaults.update(user)
print(defaults)
{'speed': 200, 'mode': 'auto', 'debug': True}

См. также

  • dict.setdefault() — добавить, только если ключа нет

  • dict.copy() — создать копию словаря

  • dict.fromkeys() — создать словарь из ключей

  • dict.pop() — удалить элемент по ключу

Примечание

Лицензия и источники

Техническое описание метода адаптировано из официальной документации Python (https://docs.python.org), доступной под Python Software Foundation License Version 2. Перевод на русский, примеры использования и пояснения — © AlashEd Wiki.