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
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 4Snippet 2: Lazily reading a large file line by line
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
Snippet 4: Generating Fibonacci sequence
Snippet 5: Lazily combining two lists element by element
Snippet 6: Reading a file in chunks
Snippet 7: Lazily transforming data from a list
Snippet 8: Lazy Cartesian product of two lists
Snippet 9: Lazy prime number generator
Snippet 10: Processing a large JSON object lazily
Let me know if you'd like more examples or detailed explanations of any snippet!
Last updated