How to create a queue, then enqueue and dequeue elements in Python

2 Answers

0 votes
from queue import Queue

def PrintQ(q):
    print("Queue contents:")
    q_list = list(q.queue)  
    for item in q_list:
        print(item)
    
    

# Create a queue
q = Queue()

# Enqueue elements
q.put("A")
q.put("B")
q.put("C")

PrintQ(q)
print()

# Dequeue elements
print("Dequeued:", q.get())  
print("Dequeued:", q.get())  

print()
PrintQ(q)

# Check if the queue is empty
print("\nIs the queue empty?", q.empty())  

# Dequeue the last element
print("\nDequeued:", q.get())  

print("\nIs the queue empty?", q.empty())  



'''
run:

Queue contents:
A
B
C

Dequeued: A
Dequeued: B

Queue contents:
C

Is the queue empty? False

Dequeued: C

Is the queue empty? True

'''

 



answered Aug 22, 2025 by avibootz
0 votes
class Queue:
    def __init__(self):
        self.queue = []

    def enqueue(self, item):
        self.queue.append(item)

    def dequeue(self):
        if not self.is_empty():
            return self.queue.pop(0)
        else:
            raise IndexError("Dequeue from an empty queue")

    def is_empty(self):
        return len(self.queue) == 0

    def size(self):
        return len(self.queue)

    def __str__(self): # print q 1
        return "Queue: [" + ", ".join(str(item) for item in self.queue) + "]"
        
    def print_queue(self): # print q 2
        print("Queue contents:", self.queue)


# Create a queue
q = Queue()

# Enqueue elements
q.enqueue("A")
q.enqueue("B")
q.enqueue("C")

print(q)

# Dequeue elements
print("Dequeued:", q.dequeue()) 
print("Dequeued:", q.dequeue())  

print("Queue contents main:", q.queue)
q.print_queue()

# Check if the queue is empty
print("Is the queue empty?", q.is_empty())  

# Dequeue the last element
print("Dequeued:", q.dequeue())  
print("Is the queue empty?", q.is_empty())  




'''
run:

Queue: [A, B, C]
Dequeued: A
Dequeued: B
Queue contents main: ['C']
Queue contents: ['C']
Is the queue empty? False
Dequeued: C
Is the queue empty? True

'''


 



answered Aug 22, 2025 by avibootz
edited Aug 22, 2025 by avibootz
...