Как объединить два словаря в Python 3.9+?

В Python 3.9+ оператор a | b создаёт новый объединённый словарь, а a |= b обновляет a. При одинаковом ключе значение справа заменяет значение слева.

Короткий ответ

Что ответить на собеседовании

В Python 3.9+ оператор a | b создаёт новый объединённый словарь, а a |= b обновляет a. При одинаковом ключе значение справа заменяет значение слева.

Подробный разбор

Ответ с пояснениями

В Python 3.9+ оператор a | b создаёт новый объединённый словарь, а a |= b обновляет a. При одинаковом ключе значение справа заменяет значение слева.

Например, {'x': 1} | {'x': 2, 'y': 3} даёт {'x': 2, 'y': 3}. Это поверхностное объединение: вложенные словари не сливаются рекурсивно, а значения остаются ссылками на объекты. Ключи сохраняют порядок первого появления, обновление значения не переносит существующий ключ. Для более старого кода доступны update() и распаковка **, но нужно понимать, изменяется ли исходный словарь.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее