Даны два словаря 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?Ещё вопросы по теме «Коллекции и структуры данных»
- Есть список событий `events = ["click"]`. Объект `events` используется в нескольких местах по ссылке, поэтому важно изменить именно тот же объект (не создавать новый). Нужно добавить элементы из `new_events = ["view", "purchase"]`, чтобы итог был плоским. Какой вариант корректен?
- Дан словарь `d = {"country": "RU"}`. Нужно прочитать значение по ключу `"city"`, а если ключа нет — вернуть строку `"unknown"` без исключения. Что подходит?
- В логах есть список `user_ids` с повторениями. Как получить количество уникальных пользователей?
- Что произойдёт при выполнении кода `t = (1, 2); t[0] = 9`?
- Дан список `nums = [10, 20, 30, 40]`. Чему равен результат выражения `nums[1:3]`?
- Все вопросы по «Коллекции и структуры данных» →