Даны два словаря d1 = {'a': 1, 'b': 2} и d2 = {'b': 3, 'c': 4}. Что вернёт выражение d1 | d2 в Python 3.9+?

AСловарь {'a': 1, 'b': 2, 'b': 3, 'c': 4} с двумя записями по ключу 'b'
BСловарь {'a': 1, 'b': 3, 'c': 4}: значение из правого словаря перезаписывает левое
CСловарь {'a': 1, 'b': 2, 'c': 4}: при совпадении ключа сохраняется значение из левого
DОшибка TypeError: оператор | для типа dict в стандартной реализации не определён
Правильный ответ. Оператор | объединяет словари; при совпадении ключей значения из правого словаря перезаписывают левый.

Разбор

Начиная с Python 3.9, можно объединять словари оператором |. Результат — новый словарь со всеми ключами. Если ключ встречается в обоих словарях, побеждает значение из правого операнда. Аналогичное поведение у {**d1, **d2}, доступного с Python 3.5. Для обновления существующего словаря на месте используйте d1 |= d2.

Проверь себя · 1/3разбор после ответа
Что произойдёт при выполнении кода t = (1, 2); t[0] = 9?
Тренировать Python в Telegram

Ещё вопросы по теме «Коллекции и структуры данных»