Intermediate Topic 35 of 54 Programming Fundamentals
Iterators
Objects that produce a sequence of values one at a time.
How it works
An iterator exposes a next operation that returns successive elements until the sequence is exhausted. For-loops call this protocol behind the scenes, so any iterable object, whether a list, file or custom collection, can be traversed the same way. Iterators track their own position and can compute elements lazily instead of holding them all in memory.
Step-by-step walkthrough
- iter() creates an iterator over the collection.
- The first next() returns 1.
- The next call returns 2 and remembers the position.
- When items run out StopIteration is raised.
- A for loop calls next() for you until that signal.
Where it is used
Reading huge files line by line, walking custom collections such as trees, chaining transformations and streaming data from a database all use iterators. Standard libraries provide tools to combine and slice them.
Common pitfall
Iterators are usually single-use, so reusing an exhausted one yields nothing. Modifying a collection during iteration may invalidate the iterator or raise an error. Keep iterator state separate from the collection and be careful when two loops share one iterator.
Where it fits in the course
Iterators is topic 35 of 54 in Programming Fundamentals, rated Intermediate. It follows Closures. The next topic is Generators.
Practice and explore
- Open the interactive lesson, with a mini quiz.
- Take the Programming Fundamentals quiz.
How to study this topic
- Read the explanation above and restate the definition in your own words.
- Open the interactive lesson and answer its mini quiz.
- Read the common pitfall, then write a short example that avoids it.
- Check your understanding in the Programming Fundamentals quiz, and revisit the topic if you miss a question.
Frequently asked questions
What is Iterators?
Where do people use Iterators?
What is the most common mistake with Iterators?
What should I learn before this topic?
How can I practice it?
Is Iterators hard to learn?
How long does it take to learn Iterators?
Which topics are related to Iterators?
What should I study after Iterators?
Related topics
- Closures (Programming Fundamentals)
- Generators (Programming Fundamentals)
- Lambda Expressions (Programming Fundamentals)
- List Comprehensions (Programming Fundamentals)