Question
Which practice avoids a common mistake with heapq and Priority Queues?
- Ignore the heapq and Priority Queues issue and rely on team discipline instead of clearer APIs or invariants.
- Do not assume iterating the underlying heap list produces globally sorted order, because the heap only guarantees the head element.
- Silence the heapq and Priority Queues problem by using broad catches, hidden globals, or extra shared mutable state.
- Prefer the version of heapq and Priority Queues 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: B. Do not assume iterating the underlying heap list produces globally sorted order, because the heap only guarantees the head element.
Do not assume iterating the underlying heap list produces globally sorted order, because the heap only guarantees the head element. This is a common failure mode in real Python code and a frequent interview follow-up.
Track: Python