In this tutorial, we will look at how to reverse a deque (reverse the order of elements in a deque) in Python with the help of some examples.
deque
in Python
The collections
module in Python comes with a deque
class that you can use to implement a stack or queue data structure in Python. Deques support thread-safe, memory efficient appends and pops from either side of the deque with approximately the same O(1) performance in either direction.
In simple terms, you can think of a deque
in Python as a list-like data structure but with efficient insertion and removal of items from either end (left and right). This makes them very useful when implementing a stack or queue functionality in Python.
How to reverse a deque in Python?

The deque
class comes with a number of built-in functions to help perform common operations (like adding and removing elements).
To reverse the order of elements in a deque in Python, use the deque reverse()
function. The following is the syntax –
Highlighted programs for you
Flatiron School
Flatiron School
University of Maryland Global Campus
University of Maryland Global Campus
Creighton University
Creighton University
# reverse deque "queue" queue.reverse()
It reverses a deque in-place and does not return any value (returns None
).
Time complexity of the deque reverse()
function
The time complexity to reverse a deque using the deque reverse()
function is O(N)
where N
is the size of the deque.
If you look at the cpython implementation of the collections
module deque reverse()
function (at line 922), you’ll find that the algorithm takes a two-pointer approach and swaps the first element with the last element, the second element with the second-last element, and so on to reverse a deque. This comes out to O(N/2)
time complexity which is the same as O(N)
time complexity.
Examples
Let’s now look at some examples of using the above syntax –
Example 1 – Reverse a non-empty deque
First, let’s create a deque with some elements.
from collections import deque # create a deque queue = deque([1, 2, 3]) # print the deque print(queue)
Output:
deque([1, 2, 3])
Here, we imported the deque
class from the collections
module and created a deque object, queue
with three elements – 1, 2, and 3.
Now, let’s now reverse the deque created above.
# reverse the deque queue.reverse() # print the deque print(queue)
Output:
deque([3, 2, 1])
Here, we used the deque reverse()
function to reverse the order of the elements in the deque queue
.
Example 2 – Reverse a non-empty bounded deque
Let’s now create a bounded deque (deque object with a specified maxlen
which defines the maximum number of values that it can store).
# create a bounded deque queue = deque([1, 2, 3], maxlen=4) # print the deque print(queue)
Output:
deque([1, 2, 3], maxlen=4)
Here, we created a bounded deque with maxlen
4 and three elements inside it. Now, let’s reverse the elements from this deque using the reverse()
function.
# reverse the deque queue.reverse() # print the deque print(queue)
Output:
deque([3, 2, 1], maxlen=4)
The elements in the bounded deque are now reversed.
You might also be interested in –
- Python – Convert a deque of strings to a single string
- Python – Convert a deque to a list
- Python – Get the Index of the Maximum Value in Deque
- Python – Get the Index of the Minimum Value in Deque
- Python – Get the Maximum and the Minimum Value in a Deque
- Python – Check If a Deque is Empty
- Python – Get Value by Index in Deque
- Python – Count occurrences of a value in deque
- Python – Create a deque copy
- Python – Rotate a Deque to the Right and Left
- Python – Extend deque to the left
- Python – Extend deque to the right
- Python – Get the Max Size of a Deque
- Python – Get Index of a Value in Deque
- Python – Remove Element by Value in Deque
- Python – Remove all elements from a deque (clear deque)
- Python – Append Element to a Deque
- Python – Append Element to the Left in Deque
- Python – Pop Element From Left in Deque
- Python – Pop Element From the End in Deque
- Python – Insert Element at a given Index in Deque
Subscribe to our newsletter for more informative guides and tutorials.
We do not spam and you can opt out any time.