PYTHON

Implement a Fast Queue with collections.deque

Discover how to implement an efficient queue (FIFO) data structure using `collections.deque` in Python, optimized for fast appends and pops from either end.

from collections import deque

# Create a new deque object to act as a queue (FIFO - First-In, First-Out)
queue = deque()

print("--- Enqueuing operations ---")
# Add elements to the right (enqueue)
queue.append('Task 1')
queue.append('Task 2')
queue.append('Task 3')
print(f"Queue after enqueuing: {list(queue)}") # Convert to list for display

print("
--- Dequeuing operations ---")
# Remove elements from the left (dequeue)
if queue:
    first_task = queue.popleft()
    print(f"Dequeued: {first_task}")
    print(f"Queue after 1st dequeuing: {list(queue)}")

if queue:
    second_task = queue.popleft()
    print(f"Dequeued: {second_task}")
    print(f"Queue after 2nd dequeuing: {list(queue)}")

print("
--- Queue status ---")
# Check if queue is empty
if not queue:
    print("Queue is empty.")

queue.append('Task 4')
print(f"Queue after adding Task 4: {list(queue)}")
How it works: This snippet demonstrates how to use Python's `collections.deque` (double-ended queue) to implement an efficient queue data structure. `deque` supports O(1) (constant time) appends and pops from both ends, making it ideal for implementing queues (First-In, First-Out). Elements are added with `append()` and removed from the front with `popleft()`. This is significantly more efficient than using a standard list for queue operations, especially with large numbers of elements, where `pop(0)` from a list is O(n).

Need help integrating this into your project?

Our team of expert developers can help you build your custom application from scratch.

Hire DigitalCodeLabs