Есть очередь задач 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] (список не пустой). Как посчитать среднее значение?
Тренировать Python в Telegram

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