151. Generators for Lazy Evaluation

Here are 10 Python code snippets demonstrating the use of generators for lazy evaluation. Each snippet is separated by a delimiter.


Snippet 1: Generating an infinite sequence of numbers

Copy

def infinite_numbers():
    num = 0
    while True:
        yield num
        num += 1

# Usage
gen = infinite_numbers()
for i in range(5):
    print(next(gen))  # Prints numbers 0 to 4

Snippet 2: Lazily reading a large file line by line

Copy

def read_large_file(filename):
    with open(filename, 'r') as file:
        for line in file:
            yield line.strip()

# Usage
for line in read_large_file('large_file.txt'):
    print(line)

Snippet 3: Filtering even numbers from a large range

Copy


Snippet 4: Generating Fibonacci sequence

Copy


Snippet 5: Lazily combining two lists element by element

Copy


Snippet 6: Reading a file in chunks

Copy


Snippet 7: Lazily transforming data from a list

Copy


Snippet 8: Lazy Cartesian product of two lists

Copy


Snippet 9: Lazy prime number generator

Copy


Snippet 10: Processing a large JSON object lazily

Copy


Last updated