This Queues lesson is for a beginner. Read the short notes, run each example, then change one name or number and run it again.
A queue is first in, first out. collections.deque pops from the left without moving every item.
A list can imitate a queue, but pop(0) gets slow as the list grows.
Example 1: Start here
popleft removes the person who has been waiting the longest.
from collections import deque # load a tool that comes with Python
queue = deque(["Meera", "Arun"]) # a queue of values
print(queue.popleft())
queue.append("Divya") # add one item at the end of the list
print(list(queue))
Example 2: Walk the values
Queues starts by visiting one value at a time. Read the printed lines from top to bottom.
values = [35, 3, 11, 7] # a list; the values stay in this order
for value in values: # repeat the indented lines once per value
print(value)
Example 3: Keep the largest
Many data-structure lessons reduce a list to one answer. This one remembers the largest number seen so far.
values = [35, 3, 11, 7] # a list; the values stay in this order
best = values[0] # the first value
for value in values: # repeat the indented lines once per value
if value > best: # run the indented lines only when this is true
best = value # another name for the same value
print(best)
Example 4: Search for a target
A search asks one yes-or-no question: is the target in the collection? Queues builds on that question.
values = [3, 35, 11] # a list; the values stay in this order
target = 35 # a whole number
print(target in values) # in is True when the value is found
