Iterating Intelligently: Generators, and the Iterator Protocol# Iteration, Comprehensions, and Generators Coverage Of This Topic for Recap: Sequential Datatypes Primitive Transformation [1,2,3,4] ⟶ [1,4,9,16] List Comprehension Larger Input List (Still Allocated) Input List ⟶ range Output List ⟶ yield Generator Function ⟶ Generator Expression Iteration, Generators, And yield The Iterator Protocol Iteration in Python What’s an Iterator? What’s an Iterable? The Iterator Protocol The Iterator Protocol: Manual Iteration The Iterator Protocol, And The for Loop Generators: Motivation Generators: How? Observations Implementing A Fibonacci Number Generator Fibonacci Numbers: Naive List Fibonacci Numbers: Naive List, Limited Sideway: Infinity by Not Using Functions Fibonacci Numbers: Function Producing Infinite Sequence Common Pattern: Turn List into Generated Items