Есть очередь задач q = deque(['task1', 'task2']). Что произойдёт после вызова q.appendleft('urgent')?
AДобавит
'urgent' в конец очереди: deque(['task1', 'task2', 'urgent'])BДобавит
'urgent' в начало очереди: deque(['urgent', 'task1', 'task2'])CЗаменит первый элемент на
'urgent': deque(['urgent', 'task2'])DВыбросит
AttributeError, потому что deque не поддерживает этот методПравильный ответ. Метод
.appendleft(x) добавляет элемент в начало deque за время O(1).Разбор
deque (двусторонняя очередь) поддерживает быстрое добавление и удаление с обоих концов. .appendleft('urgent') вставит элемент в начало, и результат будет deque(['urgent', 'task1', 'task2']). У обычного list вставка в начало через .insert(0, x) работает за O(n), потому что сдвигает все элементы. Для deque это O(1).
Проверь себя · 1/3разбор после ответа
Есть список чисел
values = [100, 50, 50] (список не пустой). Как посчитать среднее значение?Ещё вопросы по теме «Коллекции и структуры данных»
- Есть список событий `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]`?
- Все вопросы по «Коллекции и структуры данных» →