Есть список событий events = ["click"]. Объект events используется в нескольких местах по ссылке, поэтому важно изменить именно тот же объект (не создавать новый). Нужно добавить элементы из new_events = ["view", "purchase"], чтобы итог был плоским. Какой вариант корректен?
A
events.extend(new_events)B
events.append(new_events)C
events = events + new_eventsD
events.update(new_events)Правильный ответ. Метод
.extend() добавляет элементы из итерируемого объекта в конец списка и меняет его на месте, не создавая новый объект.Разбор
Чтобы сохранить тот же объект списка (например, на него есть другие ссылки), нужен .extend(): он добавит каждый элемент из new_events в events. Метод .append() положит сам список как один элемент и получится вложенный список. Выражение events = events + new_events создаёт новый объект и перепривязывает имя events, поэтому другие ссылки на старый список изменений не увидят. Метода .update() у списка нет — это метод словаря и множества.
Проверь себя · 1/3разбор после ответа
Есть
scores = [3, 1, 2]. Нужно получить новый отсортированный список, не изменяя исходный scores. Что выбрать?Ещё вопросы по теме «Коллекции и структуры данных»
- Дан словарь `d = {"country": "RU"}`. Нужно прочитать значение по ключу `"city"`, а если ключа нет — вернуть строку `"unknown"` без исключения. Что подходит?
- В логах есть список `user_ids` с повторениями. Как получить количество уникальных пользователей?
- Что произойдёт при выполнении кода `t = (1, 2); t[0] = 9`?
- Дан список `nums = [10, 20, 30, 40]`. Чему равен результат выражения `nums[1:3]`?
- Есть словарь метрик `metrics = {"views": 100, "clicks": 5}`. Как корректно пройтись по парам ключ-значение в цикле `for`?
- Все вопросы по «Коллекции и структуры данных» →