GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Python Tutorial
  • Data Types
  • Interview Questions
  • Examples
  • Quizzes
  • DSA Python
  • Data Science
  • NumPy
  • Pandas
  • Practice
  • Django
  • Flask
  • Introduction1 min read
  • Input & Output2 min read

This view

  • Original page
  • New address

GeezerVison is showing www.geeksforgeeks.org — Queue in Python - GeeksforGeeks

geeksforgeeks
search icon
  • Courses
  • Tutorials
  • Interview Prep
  • Python Tutorial
  • Data Types
  • Interview Questions
  • Examples
  • Quizzes
  • DSA Python
  • Data Science
  • NumPy
  • Pandas
  • Practice
  • Django
  • Flask

Queue in Python

Last Updated : 29 May, 2026

Queue is a linear data structure that stores items in a First In First Out (FIFO) manner. The item that is added first will be removed first. Queues are widely used in real-life scenarios, like ticket booking, or CPU task scheduling, where first-come, first-served rule is followed.

dequeue_operation_in_queue_1

There are various ways to implement a queue in Python by following ways:

1. Using list

Lists can be used as queues, but removing elements from front requires shifting all other elements, making it O(n).

Python
q = []
q.append('a')
q.append('b')
q.append('c')

print("Initial queue:", q)

print("Elements dequeued from queue:")
print(q.pop(0))
print(q.pop(0))
print(q.pop(0))

print("Queue after removing elements:", q)

Output
Initial queue: ['a', 'b', 'c']
Elements dequeued from queue:
a
b
c
Queue after removing elements: []

Explanation: We added elements using append() and removed from the front using pop(0). After removing all elements, queue is empty.

2. Using collections.deque

deque (double-ended queue) is preferred over a list for queues because both append() and popleft() run in O(1) time.

Python
from collections import deque
q = deque()

q.append('a')
q.append('b')
q.append('c')
print("Initial queue:", q)

print("Elements dequeued from the queue:")
print(q.popleft())
print(q.popleft())
print(q.popleft())

print("Queue after removing elements:", q)

Output
Initial queue: deque(['a', 'b', 'c'])
Elements dequeued from the queue:
a
b
c
Queue after removing elements: deque([])

Explanation: popleft() efficiently removes the first element without shifting, making deque ideal for queues.

3. Using queue.Queue

Python’s queue module provides a thread-safe FIFO queue. You can specify a maxsize. Key Methods are:

  • put(item) / put_nowait(item): Add an element.
  • get() / get_nowait(): Remove an element.
  • empty(): Check if the queue is empty.
  • full(): Check if the queue is full.
  • qsize(): Get current size of the queue.
Python
from queue import Queue
q = Queue(maxsize=3)
print("Initial size:", q.qsize())

q.put('a')
q.put('b')
q.put('c')
print("Is full:", q.full())

print("Elements dequeued from the queue:")
print(q.get())
print(q.get())
print(q.get())
print("Is empty:", q.empty())

q.put(1)
print("Is empty:", q.empty())
print("Is full:", q.full())

Output
Initial size: 0
Is full: True
Elements dequeued from the queue:
a
b
c
Is empty: True
Is empty: False
Is full: False

Explanation: queue.Queue class handles thread-safe operations. You can check fullness or emptiness before adding or removing elements.

To practice problems related to Queue, refer to this article Queue Data Structure

Comment

Explore

    Python Fundamentals
    • Introduction1 min read
    • Input & Output2 min read
    • Variables4 min read
    • Operators4 min read
    • Keywords2 min read
    • Data Types4 min read
    • Conditional Statements3 min read
    • Loops3 min read
    • Functions4 min read
    Python Data Structures
    • String4 min read
    • List3 min read
    • Tuples3 min read
    • Dictionary3 min read
    • Set2 min read
    • Arrays5 min read
    Advanced Python
    • OOP Concepts3 min read
    • Exception Handling5 min read
    • File Handling4 min read
    • Python Database2 min read
    • MongoDB3 min read
    • MySQL7 min read
    • Packages4 min read
    • Modules3 min read
    • DSA Libraries5 min read
    • Python GUI2 min read
    Data Science with Python
    • Numpy3 min read
    • Pandas4 min read
    • Matplotlib3 min read
    • Seaborn3 min read
    • StatsModel2 min read
    • Model Building6 min read
    • TensorFlow2 min read
    • PyTorch5 min read
    Web Development with Python
    • Flask3 min read
    • Django5 min read
    • Django ORM4 min read
    • Jinja2 Templating5 min read
    • Django Templates5 min read
    • REST API3 min read
    • Build API with DRF4 min read
    Python Practice
    • Quiz1 min read
    • Practice Problems2 min read
    • Interview Q & A15+ min read
    Courses
    • Placement 360 Course2 min read
    • Data Science 360 Course2 min read
    • AI Engg Course2 min read
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.