Встречается на собеседованиях • сегодня

В чём разница между queue и deque в collections

queue.Queue и collections.deque служат разным целям, хотя оба связаны с очередями.

collections.deque – это двусторонняя очередь, оптимизированная для быстрого добавления/удаления элементов с обоих концов (O(1)). Подходит для стеков, очередей и других структур данных.

python
from collections import deque
d = deque()
d.append(1)       # [1]
d.appendleft(2)    # [2, 1]
d.pop()            # удаляет 1

queue.Queue – потокобезопасная очередь, предназначенная для многопоточного программирования. Она блокирует потоки при попытке получить элемент из пустой очереди.

python
from queue import Queue
q = Queue()
q.put(1)
q.get()  # вернёт 1, если очередь пуста – блокируется

Итог:

  • deque – быстрая неблокирующая структура для однопоточных задач.
  • Queue – потокобезопасная очередь для многопоточности.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы