Deque in Python (original) (raw)

A deque stands for Double-Ended Queue. It is a type of data structure that allows to add and remove elements from both ends efficiently.

1

Representation of Deque in Python

Python `

from collections import deque d = deque(['name','age','DOB']) print(d)

`

Output

deque(['name', 'age', 'DOB'])

Accessing Items in deque

A deque also supports indexing, which means elements can be accessed using their position just like lists. Positive indexing starts from the left and negative indexing starts from the right.

Python `

from collections import deque dq = deque([1, 2, 3, 4])

print(dq[0]) print(dq[-1])

`

**Explanation:

Operations on deque

**1. append(): adds an element to the right end of the deque.

Python `

from collections import deque dq = deque([10, 20, 30]) dq.append(40) print(dq)

`

Output

deque([10, 20, 30, 40])

**2. appendleft(): adds an element to the left end of the deque.

Python `

from collections import deque dq = deque([10, 20, 30]) dq.appendleft(5) print(dq)

`

Output

deque([5, 10, 20, 30])

**3. extend(): adds multiple elements to the right end of the deque.

Python `

from collections import deque dq = deque([10, 20, 30]) dq.extend([40, 50, 60]) print(dq)

`

Output

deque([10, 20, 30, 40, 50, 60])

**4. extendleft(): adds multiple elements to the left end of the deque.

Python `

from collections import deque dq = deque([10, 20, 30]) dq.extendleft([1, 2]) print(dq)

`

Output

deque([2, 1, 10, 20, 30])

**5. remove(): removes the first occurrence of a specified value.

Python `

from collections import deque dq = deque([10, 20, 30, 20]) dq.remove(20) print(dq)

`

Output

deque([10, 30, 20])

**6. pop(): removes and returns the element from the right end.

Python `

from collections import deque dq = deque([10, 20, 30]) dq.pop() print(dq)

`

**7. popleft(): removes and returns the element from the left end.

Python `

from collections import deque dq = deque([10, 20, 30]) dq.popleft() print(dq)

`

**8. clear(): removes all elements from the deque.

Python `

from collections import deque dq = deque([10, 20, 30]) dq.clear() print(dq)

`

**9. len(): returns the total number of elements in the deque.

Python `

from collections import deque dq = deque([1, 2, 3, 4, 5]) print(len(dq))

`

**10. count(): returns how many times a specific element appears in the deque.

Python `

from collections import deque dq = deque([10, 20, 30, 20, 40, 20]) print(dq.count(20))

`

**11. rotate(): rotates the elements of the deque.

Python `

from collections import deque dq = deque([10, 20, 30, 40]) dq.rotate(1) print(dq)

`

Output

deque([40, 10, 20, 30])

**12. reverse(): reverses the order of elements in the deque.

Python `

from collections import deque dq = deque([10, 20, 30, 40]) dq.reverse() print(dq)

`