Q31: What are key memory-efficient iterator tools in the 'itertools' module?

  • itertools.chain(*iterables): Combines multiple iterables seamlessly without creating intermediate lists.
  • itertools.islice(iterable, start, stop): Slices iterators lazily.
  • itertools.combinations(iterable, r): Generates $r$-length combinations lazily.
Key Takeaways
  • Memory-efficient lazy iteration pipelines.
  • chain merges iterables; combinations / permutations handle combinatorics.
Knowledge Check

Which itertools function merges three separate list generators into a single continuous iterator stream?