This Stacks lesson is for a beginner. Read the short notes, run each example, then change one name or number and run it again.
A stack is last in, first out. append pushes an item. pop removes the item you just pushed.
Use a stack for undo, for matching brackets, or for walking nested folders.
Example 1: Start here
pop on an empty list raises IndexError. Check the length first.
stack = [] # a list; the values stay in this order
stack.append("Python") # add one item at the end of the list
stack.append("SQL") # add one item at the end of the list
print(stack.pop())
print(stack)
Example 2: Walk the values
Stacks starts by visiting one value at a time. Read the printed lines from top to bottom.
values = [32, 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 = [32, 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? Stacks builds on that question.
values = [3, 32, 11] # a list; the values stay in this order
target = 32 # a whole number
print(target in values) # in is True when the value is found
