Управление очередью и организация процессов на Queue

Queue (очередь) - это структура данных, которая обычно представляет собой список элементов, который можно рассматривать как коллекцию элементов, основным принципом работы которой является FIFO (первым пришел - первым вышел).

Элементы в очереди добавляются в конец списка. Каждый раз, когда необходимо удалить элемент, он удаляется из начала списка, таким образом, очередь всегда оставляет первые добавленные элементы в конце списка, а последние добавленные элементы в начале списка.

В Python очередь может быть реализована с помощью стандартной библиотеки Queue. Пример создания и работы с очередью:

python
import queue 
  
q = queue.Queue() # создание объекта очереди 
  
# добавление элементов в очередь 
q.put('A') 
q.put('B') 
q.put('C') 
  
# получение элементов из очереди 
print(q.get()) # выводит 'A' 
print(q.get()) # выводит 'B' 
print(q.get()) # выводит 'C' 
  
# проверка, является ли очередь пустой 
print(q.empty()) # выводит True 

Также в Python есть deque - библиотека, расширяющая функциональность очереди и позволяющая добавлять и удалять элементы с обеих сторон. Пример реализации deque:

python
from collections import deque 
  
dq = deque() # создание объекта deque 
  
# добавление элементов в очередь
dq.append('X') # добавление элемента справа
dq.appendleft('Y') # добавление элемента слева
  
# вывод элементов
print(dq[0]) # выводит первый элемент
print(dq[-1]) # выводит последний элемент
  
# удаление элементов
print(dq.pop()) # вывод и удаление последнего элемента
print(dq.popleft()) # вывод и удаление первого элемента
  
# проверка, является ли deque пустым
print(dq) # вывод оставшихся элементов в deque после удаления
print(len(dq)) # вывод количества оставшихся элементов в deque

Похожие вопросы на: "queue "

CSS Line Height: The Key to Perfecting Your Website's Readability and Design
Docker Compose Volumes: The Ultimate Guide
SQL Regexp: регулярные выражения в SQL
Алгоритм Дейкстры на Python: руководство по использованию
Request PHP: обмен данными между клиентом и сервером
Assignee - управление и распределение задач в вашей команде
Шрифт Ubuntu: красота и универсальность в одном
Заполнить массив случайными числами
Unicode Emoji
Генерация случайных чисел с помощью функции randint в Python 3