11.
How is a generator expression defined in Python?

12.
What is the primary purpose of the itertools module in Python?

13.
What is an iterator in Python?

14.
Which built-in Python function is used to create an iterator from an iterable?

15.
What is the role of the __iter__() and __next__() methods in iterators?

16.
What is the purpose of using the yield from statement in generators?

17.
What is the advantage of using generator expressions over list comprehensions?

18.
How do you manually create an iterator in Python?

19.
What is the purpose of the itertools.chain() function?

20.
How can you create an infinite generator in Python?