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 4Snippet 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