Дан код:
``python
a = {1, 2, 3}
b = a.copy()
a.add(4)
`
Что будет в b`?
AОба множества изменятся: и в
a, и в b появится 4BТолько в
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"], чтобы итог был плоским. Какой вариант корректен?Ещё вопросы по теме «Коллекции и структуры данных»
- Есть список событий `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]`?
- Все вопросы по «Коллекции и структуры данных» →