153. Implementing Custom Iterators

Here are 10 Python snippets demonstrating how to implement custom iterators to control iteration behavior. Each snippet is separated by a delimiter.


Snippet 1: Basic Custom Iterator

Copy

class Counter:
    def __init__(self, start, end):
        self.current = start
        self.end = end

    def __iter__(self):
        return self

    def __next__(self):
        if self.current >= self.end:
            raise StopIteration
        self.current += 1
        return self.current - 1

# Usage
for number in Counter(1, 5):
    print(number)  # Output: 1, 2, 3, 4

Snippet 2: Iterator for Fibonacci Sequence

Copy


Snippet 3: Reverse Iterator

Copy


Snippet 4: Custom Range Iterator

Copy


Snippet 5: Circular Iterator

Copy


Snippet 6: File Line Iterator

Copy


Snippet 7: Infinite Iterator

Copy


Snippet 8: Skipping Iterator

Copy


Snippet 9: Countdown Iterator

Copy


Snippet 10: Batched Iterator

Copy


Last updated