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

Aevents.extend(new_events)
Bevents.append(new_events)
Cevents = events + new_events
Devents.update(new_events)
Правильный ответ. Метод .extend() добавляет элементы из итерируемого объекта в конец списка и меняет его на месте, не создавая новый объект.

Разбор

Чтобы сохранить тот же объект списка (например, на него есть другие ссылки), нужен .extend(): он добавит каждый элемент из new_events в events. Метод .append() положит сам список как один элемент и получится вложенный список. Выражение events = events + new_events создаёт новый объект и перепривязывает имя events, поэтому другие ссылки на старый список изменений не увидят. Метода .update() у списка нет — это метод словаря и множества.

Проверь себя · 1/3разбор после ответа
Есть scores = [3, 1, 2]. Нужно получить новый отсортированный список, не изменяя исходный scores. Что выбрать?
Тренировать Python в Telegram

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