Дан код: ``python a = {1, 2, 3} b = a.copy() a.add(4) ` Что будет в b`?

AОба множества изменятся: и в a, и в b появится 4
BТолько в a добавится 4, а b останется {1, 2, 3}
CБудет ошибка, потому что множества нельзя копировать методом .copy()
DТолько в b добавится 4, а a останется {1, 2, 3}
Правильный ответ. .copy() у set создаёт независимую поверхностную копию, поэтому изменения одного множества не влияют на другое.

Разбор

Вызов a.copy() создаёт новый объект set с теми же элементами. Поскольку элементы множества — неизменяемые значения (числа), a.add(4) затронет только a. Множество b останется {1, 2, 3}. Для множеств, содержащих только примитивы, поверхностная копия фактически эквивалентна глубокой.

Проверь себя · 1/3разбор после ответа
Есть список событий events = ["click"]. Список events используется в нескольких местах по ссылке, поэтому важно изменить именно тот же объект (не создавать новый). Нужно добавить элементы из new_events = ["view", "purchase"], чтобы итог был плоским. Какой вариант корректен?
Тренировать Python в Telegram

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