Skip to content

script_4.py - List as Queue (FIFO)

Code

See script_4.py for full code.

Explanation

Line 8: from collections import deque - Imports deque (double-ended queue) from collections module - More efficient than list for queue operations

Line 12: self.queue = deque() - Creates empty deque - deque is a type (like list but optimized) - Supports fast append/pop from both ends

Line 17: self.queue.append(task) - .append() adds to right end (like list) - Enqueue operation (add to back of queue)

Line 22: task = self.queue.popleft() - .popleft() is deque-specific method - Removes and returns from left end (front of queue) - O(1) time complexity (constant time) - List's .pop(0) is O(n) - much slower - FIFO: First In, First Out

Line 30: def peek(self): - Access front element without removing - Uses index [0] to read first element - Doesn't modify the deque

Line 34: return len(self.queue) - len() works on deque just like lists - Returns integer count of elements