Custom iterator class
Implement a custom iterator class that repeatedly yields elements from a list up to a given number of times.
Window Iterator
Implement a generator that yields consecutive windows of a given size from any iterable.
Pairwise Sequence Pairs
Write a generator function pairwise that yields each consecutive overlapping pair from any iterable as lists.
Groupby Consecutive
Write a generator function that yields (value, list_of_occurrences) for each run of consecutive equal items.
Flatten Nested List Iterator
Implement a class that iterates over all integers in a nested list structure in depth-first order.
Iterator protocol class
Implement a class that follows the iterator protocol and yields squared numbers up to a given limit.
Batch Iterator
Implement a generator that yields batches of a given size from any iterable, including the final partial batch.
Zip Longest Fill
Create an iterator that yields lists from multiple iterables, padding with a fill value when lengths differ.
Graph DFS Generator
Implement a generator function that performs a depth-first traversal of a graph without recursion.
Showing 1–9 of 9 challenges · Iterators & Generators
Iterators & Generators — Python coding challenges
What you will find here
This page lists iterators & generators challenges — real Python problems you solve in the browser IDE with instant test feedback. Each challenge includes a clear brief, starter code, and automated checks.
Challenges vs tutorials and quizzes
Challenges test what you can build under constraints. For guided teaching, use our Python tutorials. For quick checks, try quizzes or copy snippets from code samples.