Python: Which practice avoids a common mistake with Iterators, Generators, and yield?

Difficulty:

Medium

Questions:

1

Time Limit:

2 minutes

Passing Score:

100%

Question

Which practice avoids a common mistake with Iterators, Generators, and yield?

  1. Do not reach for a generator automatically if the result must be traversed repeatedly or debugging clarity matters more than laziness.
  2. Ignore the Iterators, Generators, and yield issue and rely on team discipline instead of clearer APIs or invariants.
  3. Silence the Iterators, Generators, and yield problem by using broad catches, hidden globals, or extra shared mutable state.
  4. Prefer the version of Iterators, Generators, and yield that makes behavior less predictable as long as the code still runs.

Hint

Look for the option that protects correctness instead of hiding the problem.

Answer and rationale

Correct answer: A. Do not reach for a generator automatically if the result must be traversed repeatedly or debugging clarity matters more than laziness.

Do not reach for a generator automatically if the result must be traversed repeatedly or debugging clarity matters more than laziness. This is a common failure mode in real Python code and a frequent interview follow-up.

Track: Python