In Python, deque() is one of the datatypes, which returns a new deque object initialized left-to-right (using append()) with data from iterable. If iterable is not specified, the new deque is empty.
The deque is implemented using collections module. When we need to perform faster operations like append and pop an element we prefer deque as its time complexity is O(1) time as compared to list that provides O(n) time complexity.
SyntaxFollowing is the syntax of the Python deque() class −
class collections.deque([iterable[, maxlen]])Parameters
This data type accepts iterable as a parameter.
Return ValueThis datatype returns <class 'collections.deque'> object.
ExampleFollowing is an basic example of Python deque() class −
from collections import deque d = deque('xyz') print(d)
Following is the output of the above code −
deque(['x', 'y', 'z'])Method in deque
Following are the methods present in the deque() class −
Method Function append(x) Add x to the right side of the deque appendleft(x) Add x to the left side of the deque clear() Remove all elements from the deque leaving it with length 0 copy() Create a shallow copy of the deque. count(x) Count the number of deque elements equal to x extend(iterable) Extend the right side of the deque by appending elements from the iterable argument extendleft(iterable) Extend the left side of the deque by appending elements from iterable. index(x[, start[, stop]]) Return the position of x in the deque (at or after index start and before index stop). Returns the first match or raises ValueError if not found. insert(i, x) Insert x into the deque at position i pop() Remove and return an element from the right side of the deque popleft() Remove and return an element from the left side of the deque. If no elements are present, raises an IndexError. rotate(n=1) Rotate the deque n steps to the right. If n is negative, rotate to the left maxlen Maximum size of a deque or None if unbounded remove(value) Remove the first occurrence of value. If not found, raises a ValueError. reverse() Reverse the elements of the deque in-place and then return None. Python deque.append() MethodWe can add an element into the deque using append(). The element is added at right end of the deque. The appendleft() is used to add the element at the right end of the deque. Only single element is allowed appended to the deque at once.
ExampleHere, we have created deque and appended an element using append() at right of deque. Using appendleft() we have appended an element at left of deque() −
import collections # initializing deque deque1 = collections.deque([1, 2, 3]) print("deque: ", deque1) # using append() to insert element at right end # inserts 100 at the end of deque deque1.append(100) # printing modified deque print("The deque after appending at right : ",deque1) # using appendleft() to insert element at left end # inserts 21 at the beginning of deque deque1.appendleft(21) # printing modified deque print("The deque after appending at left : ",deque1)
Following is the output of the above code −
deque: deque([1, 2, 3]) The deque after appending at right : deque([1, 2, 3, 100]) The deque after appending at left : deque([21, 1, 2, 3, 100])Python deque.pop() Method
The pop() method in deque is used to remove an element from the end of the deque. The popleft() is used to remove an element at the left end of the deque.
ExampleHere, we have removed an element at the right end using pop(). Using popleft() we have removed the left end element from the deque. This method removes only one element at once.
import collections # initializing deque deque_1 = collections.deque([60, 11, 42, 93, 74]) print("deque: ", deque_1) # using pop() to delete element from right end of deque deque_1.pop() # printing modified deque print("The deque after deleting from right : ",deque_1) # using popleft() to delete element from left deque_1.popleft() # printing modified deque print("The deque after deleting from left : ",deque_1)
Following is the output of the above code −
deque: deque([60, 11, 42, 93, 74]) The deque after deleting from right : deque([60, 11, 42, 93]) The deque after deleting from left : deque([11, 42, 93])Python deque.extend() Method
The extend() method with deque is used to add more than one elements at the right end of the deque. The extendleft() is used to add the elements at the right end of the deque.
ExampleFollowing is another example of this class −
import collections # initializing deque deque_1 = collections.deque([1, 2, 3]) # using extend() to add numbers to right end deque_1.extend([40,50]) # printing modified deque print ("The deque after extending deque at right end :",deque_1) # using extendleft() to add numbers to left end deque_1.extendleft([70,80]) # printing modified deque print ("The deque after extending deque at left end: ",deque_1)
Following is the output of the above code −
The deque after extending deque at right end : deque([1, 2, 3, 40, 50]) The deque after extending deque at left end: deque([80, 70, 1, 2, 3, 40, 50])Python deque.rotate() Method
The rotate() method rotates the deque by the number specified in arguments. If the number specified is negative, rotation occurs to the left. Else rotation is to right.
ExampleHere, we have created a deque and performed rotation operation on deque. When we passed a negative value rotation occurred from left and when a positive value is passed rotation occurred from right −
from collections import deque #defined deque deque_1=deque([1,2,3,4]) #left rotation of deque deque_1.rotate(-1) print("Left Rotation Of deque :",deque_1) #right rotating of deque deque_1.rotate(2) print("Right Rotation Of deque :",deque_1)
Following is the output of the above code −
Left Rotation Of deque : deque([2, 3, 4, 1]) Right Rotation Of deque : deque([4, 1, 2, 3])
python_modules.htm
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4