На этом шаге мы рассмотрим этот класс для конструирования очереди.
В качестве очереди можно использовать обычный список, но с точки зрения производительности такое решение не идеально.
См. документацию Python "Применение списков в качестве очередей": https://docs.python.org/3/tutorial/datastructures.html#using-lists-as-queues.
Списки для этой цели довольно медленные, потому что вставка в начало очереди или удаление элемента влекут за собой сдвиг всех других элементов на одну позицию, требуя O(n) времени.
Поэтому мы не рекомендуем использовать список в качестве импровизированной очереди в Python (если только вы не имеете дело с небольшим количеством элементов).
>>> q = [] >>> s.put('есть') >>> s.put('спать') >>> s.put('программировать') >>> q ['есть', 'спать', 'программировать'] # Осторожно: это очень медленная операция! >>> q.pop(0) 'есть'
На следующем шаге мы рассмотрим класс collections.deque.