49. Lazy Evaluation with itertools
1. Using itertools.count for Infinite Sequences
itertools.count for Infinite Sequencesimport itertools
# Infinite sequence of numbers starting from 0
counter = itertools.count(start=0, step=1)
# Get the first 10 numbers from the infinite sequence
for i in itertools.islice(counter, 10):
print(i)2. Using itertools.cycle for Repeated Sequences
itertools.cycle for Repeated Sequencesimport itertools
# Infinite cycle of the list ['A', 'B', 'C']
cycle = itertools.cycle(['A', 'B', 'C'])
# Get the first 10 elements from the infinite cycle
for i in itertools.islice(cycle, 10):
print(i)3. Using itertools.repeat for Repeating an Element
itertools.repeat for Repeating an Element4. Using itertools.chain to Combine Iterables
itertools.chain to Combine Iterables5. Using itertools.islice to Slice an Iterable Lazily
itertools.islice to Slice an Iterable Lazily6. Using itertools.starmap for Applying Functions to Iterable Elements
itertools.starmap for Applying Functions to Iterable Elements7. Using itertools.combinations for Generating Combinations
itertools.combinations for Generating Combinations8. Using itertools.permutations for Generating Permutations
itertools.permutations for Generating Permutations9. Using itertools.product for Cartesian Product
itertools.product for Cartesian Product10. Using itertools.combinations_with_replacement for Combinations with Replacement
itertools.combinations_with_replacement for Combinations with ReplacementLast updated