Рубрики
Без рубрики

Питона очереди

Пример очереди питона

Автор оригинала: Pankaj Kumar.

В нашем предыдущем уроке мы обсудили о функции спящего сон Python модуля времени. В этом руководстве мы узнаем о модуле очередей Python.

Питона очереди

Когда мы хотим обработать наши данные так, как они прибыли, то используя очередь – лучший вариант. Очередь – это концепция первого в структуре данных первого из первых. Посмотрите на следующий пример:

# importing the queue module
import queue

# taking an object of Queue()
q = queue.Queue()

# enqueueing some value in the object of Queue
q.put('A')
q.put('B')
q.put('C')
q.put('D')
q.put('E')

# retrieving the values of the Queue
for i in range(q.qsize()):
   print(q.get())

Это выведет:

Анализ пример кода Python Queue

В самой первой линии мы импортировали модуль очередей Python. Тогда мы создали объект очереди, поскольку модуль очередей содержит три класса, такие как Очередь , Lifooueue и Приоритеткую Отказ

Затем мы добавили некоторое значение на объект очереди, используя метод PUT (). Наконец, мы получили значения до размера Q, используя метод Get (). И если вы заметите вывод, вы увидите, что выходы так, как мы добавили.

Обычные методы в очереди Python

В модуле очередей Python следующие данные являются наиболее распространенными методами, которые используются для манипулирования или эксплуатации на объектах очереди. Мы уже видели три метода в предыдущем примере. Они поставить () , Получить () и qsize () Отказ Мы увидим некоторые другие методы.

Функция () Python Queue Full ()

Чтобы проверить, заполнен ли объект очередей или нет. Это возвращает True, если очередь полностью ложно.

Python Queue Пустая () Функция

Если очередь пуста, он возвращает True иначе ложь.

См. В следующем примере:

# importing only the Queue from the queue module
from queue import Queue

# taking an object of Queue()
q = Queue()
print("Initially the size of queue is %s" % q.qsize())
print("Checking whether queue is empty or not. Empty?? = %s" % q.empty())

# enqueueing some value in the object of Queue
q.put('A')
q.put('B')
q.put('C')
q.put('D')
q.put('E')

print("After adding some value, size of queue is %s" % q.qsize())
print("Checking whether queue is full or not. Full?? = %s" % q.full())

# retrieving the values of the Queue
for i in range(q.qsize()):
   print("Retrieved = ", end=' ')
   print(q.get())

# after retrieving, check the size of the object
print("Size of queue is = %s " % q.qsize())

Над приведенным выше пример кода очереди Python будет производить следующий вывод.

Initially the size of queue is 0
Checking whether queue is empty or not. Empty?? = True
After adding some value, size of queue is 5
Checking whether queue is full or not. Full?? = False
Retrieved =  A
Retrieved =  B
Retrieved =  C
Retrieved =  D
Retrieved =  E
Size of queue is = 0 

Python Lifooueue

Python LifeQueue похож на очередь, за исключением того, что это встроенная структура данных. Ниже приведен простым примером Python Lifooue Code.

import queue

q = queue.LifoQueue()

q.put('A')
q.put('B')
q.put('C')

for i in range(q.qsize()):
    print(q.get())

Ниже приведены изображение, показывает вывод, создаваемый примерным примером Python Lifooeue.

Очередная очередь Python

Очередная очередь возвращает элемент в порядке приоритета. Поэтому, когда мы добавляем элемент в очередь приоритета, мы также предоставляем его приоритет. Затем мы извлекаем предметы, они возвращаются в порядке приоритета. Нижние числа приоритетных элементов возвращаются первыми.

Ниже пример код Python PriorityQueue.

import queue

q = queue.PriorityQueue()

q.put((1, 'A'))
q.put((3, 'B'))
q.put((2, 'C'))

for i in range(q.qsize()):
    print(q.get())

Вот вывод, производимый Python Priority Emakeue Program.

Приоритетный модуль в очереди Python Heapq

Модуль очереди Python Приоритеткую Функции синхронизированы. Есть другой модуль Heapq Это также реализует приоритетную очередь в Python.

import heapq

q = []

heapq.heappush(q, (2, 'B'))
heapq.heappush(q, (1, 'A'))
heapq.heappush(q, (3, 'C'))

while q:
    item = heapq.heappop(q)
    print(item)

Производительность, производимая при приоритете Heapq Приоритетным приведенным в режиме реализации Очередь Реализация Программа, отображается в изображении ниже.

Это все о очереди Python, очереди приоритета и интенсивности.

Ссылка: Официальный документ