-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy path24_Deque.py
More file actions
75 lines (48 loc) · 1.39 KB
/
24_Deque.py
File metadata and controls
75 lines (48 loc) · 1.39 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# A deque stands for Double-Ended Queue
from collections import deque
de = deque(["name","age","DOB"])
print(de)
# Operations on deque
dq = deque([1,2,3,4,5])
print(dq)
# Adding elements
dq.append(6) # add to the right end
print("After append: ",dq)
dq.appendleft(0) # add to the left end
print("After appendleft: ",dq)
# Removing elements
dq.pop() # remove from the right end
print("After pop: ",dq)
dq.popleft() # remove from the left end
print("After popleft: ",dq)
dq.remove(3) # remove a specific element
print("After remove: ",dq)
# Adding multiple elements
dq.extend([7,8,9]) # add multiple elements to the right end
print("After extend: ",dq)
dq.extendleft([-1,-2,-3]) # add multiple elements to the left end
print("After extendleft: ",dq)
# Rotating elements
dq.rotate(1) # rotates deque n steps to the right
print("After rotating: ",dq)
dq.rotate(-2)
print("Negative rotating: ",dq)
# length
print("Length: ",len(dq))
# inserting and removing at specific positions
dq.insert(2,10)
print("After inserting: ",dq)
dq.remove(10)
print("After removing:",dq)
# Accessing elements
print(dq[0])
print(dq[-1])
# Reverse
dq.reverse()
print("Reverse: ",dq)
# Counting
dq.count(1)
print("Count: ",dq)
# clear
dq.clear()
print("After clear:",dq)