Python

Python Deque

Python Deque

A deque means double-ended-queue with the addition of elements from any end; users can also remove elements from any end. This module comes from the collections library and is implemented using this module. It is generally preferable over the list where we need to have a faster method to append operations. The additions and removal can be done from both container ends. Users can add the values in the deque or remove them from both sides. They can even reverse the entire deque. The tutorial will cover all possible use cases along with elaborate examples for the ease of the users.

We ideally use the latest version of Python for implementation that is Python x3.8, but if anyone does not have the latest version, even then they can implement it on their versions. It will generate similar results.

Comparison of Deque with List:

Deque is faster for using the addition at the start and the end of the deque. Lists are faster when it comes to adding and removing elements from the middle of the list. In the list, users can use index and values to insert on lists, whereas in deque, we can append it on either the left or right side.

Deques are more like queues and stacks. They also support thread-safe and are efficient in terms of memory. Pops from both sides of the deque are the same, i.e., O(1) in either direction. List objects support operations. Lists are optimized for much faster operations.

Deque is a double link list with a much bigger memory than a list. It supports two pointers per node in place of one. Overall, this difference can be ignored. Users can append and pop up on both ends in Deque.

Example

Here is an example executed by importing deque. The code is a basic sample that can be used to import the collections, and users can opt for this sample when they want to import a deque. The collections import the deque, and then we declare the deque in the next step. At last, when we print it to check out the value of our output.

>>> from collections import deque
>>> queue = deque(['number','place','title'])
>>> print(queue)

OutputThe output value of deque will look like this:

Operations of deque

Different operations can be performed in deque(). In this section, we will illustrate all possible operations that will be useful for the users. At first, we will check out the import option available for importing the collection.

Import collections

Another example of importing collections is given below:

>>> import collections
>>> DoubleEnded = collections.deque([“Monday,”Tuesday”,”Wednesday”])
>>> print (DoubleEnded)

OutputAs soon as you tap enter, the output will appear as appended below:

Append value to the right:

Now, to append the value to the right side, we will use the following input value. We will add Thursday on the right side of the queue. The value will be added on the right side of the list.

>>> print("Adding to the right: ")
>>> DoubleEnded.append("Thursday")
>>> print (DoubleEnded)


Output
On clicking enter, the output will appear similar to this one:

In the above example, the value is appended on the right side of the list.

Append value to the left

To append any value in deque to the left side, we will use the following input value. We will add Sunday on the left side of the queue. The value will be added on the left side of the list.

>>> print("Adding to the left: ")
>>> DoubleEnded.append("Sunday")
>>> print (DoubleEnded)


Output
On clicking enter, the output will appear similar to this one:

Here in the example, the value is appended on the left side of the list.

Remove value from the right

Users can remove the deque to remove the value from the right side of the deque. Users can go for this option to remove the relevant values from the deque from the right side. Use the following lines of code:

>>> print("Removing from the right: ")
>>> DoubleEnded.pop()
>>> print (DoubleEnded)

OutputTo check out the deque output that has been updated, press the enter key.

Here, the value which was previously on the right side of the deque, Thursday being the one in our case, will be removed from the deque.

Remove value from the left

To remove the value from the left side of the deque, users need to use the following lines of code:

>>> print("Removing value from the left: ")
>>> DoubleEnded.popleft()
>>> print (DoubleEnded)

OutputTo check out the deque output that has been updated, press the enter key.


Here, the value that was previously on the deque's left side was Sunday will be removed from the deque.

Reversing the entire deque

To reverse the entire deque, use the following code:

>>> print("Reversing the entire deque: ")
>>> DoubleEnded.reverse()
>>> print (DoubleEnded)

When you press enter, the deque will be reverted from the left side to the right side.

Conclusion

In this tutorial, we discussed the concept of the deque. We shared all possible operations that can be performed using deque that is import collections, appending values to the right side of the deque, appending values to the left side and removing value from the left, removing value from the right side. At last, we discussed the method of reverting the entire deque.

The possibilities discussed in the tutorial can be used when needed. Users can opt for a list or deque based on their requirements. Both have different pros that are based on a situation, where one of them is to be used over another. Memory allocation, efficiency, and basic functionalities of double lists are the only differences. This tutorial must be helpful for those who want to know about the generic operations of the deque.

AppyMouse On-screen Trackpad and Mouse Pointer for Windows Tablets
Tablet users often miss the mouse pointer, especially when they are habitual to using the laptops. The touchscreen Smartphones and tablets come with m...
Middle mouse button not working in Windows 10
The middle mouse button helps you scroll through long webpages and screens with a lot of data. If that stops, well you will end up using the keyboard ...
How to change Left & Right mouse buttons on Windows 10 PC
It's quite a norm that all computer mouse devices are ergonomically designed for right-handed users. But there are mouse devices available which are s...