Home โบ Problems โบ Dictionary comprehension with condition
Dictionary comprehension with condition
๐ง Predict the output Topic: dictionaries Difficulty: medium Free
What this problem practises
Dictionaries fail loudly on a missing key with KeyError, quietly through get(), and in genuinely surprising ways when you modify a dict while iterating it or rely on a duplicate key silently replacing the earlier entry.
This is an output-prediction problem: read the snippet carefully and write down exactly what it prints before anything runs. These questions are interview staples because they test whether you know the language rules, or merely recognise their syntax.
Difficulty: medium โ expect to hold two interacting rules in your head at once, such as a boundary combined with a mutation.
The challenge
The code runs in PyDebugโs in-browser compiler. Open the problem, run the snippet, watch the exact error or output, and keep iterating until it is right. Signed-in solves count toward XP and your daily streak.
The snippet
The interactive editor pre-fills exactly this code โ read it, then submit your prediction:
nums = range(1, 6)
squares = {n: n * n for n in nums if n % 2 != 0}
print(squares)Understand the rule
This PyDebug exercise focuses on dictionary comprehension with condition. It is a small reproducible Python debugging task: identify the input and expected state, then predict each statement before changing code. When output differs, inspect types, boundaries, mutation, and control flow instead of guessing.
How to trace it
- Read the prompt and write the expected output for dictionary comprehension with condition.
- Run the code mentally, recording values after each loop or function call.
- Compare actual and expected states and locate the first divergence.
- Make the smallest fix, then test a normal and a boundary case.
Common wrong fixes
- Changing several lines at once and hiding the original cause.
- Checking only the happy path and missing zero, empty, or boundary input.
- Confusing printed representation with the stored value.
Rule to remember
Treat dictionary comprehension with condition as a focused experiment. A reliable solution explains the output, handles its edge case, and can be verified with a small test in the browser editor.
๐ฎ Learning path: Output Prediction
Problem 16 of 18 in this path. Work them in order โ each one builds on the rule before it.
โ Dictionary update() behaviorNext in path: sorted() with a key function โ
More dictionaries problems
Keep going
- Output-prediction strategies โ how to predict tricky snippets without running them.
- Browse every dictionaries problem in this topic.
- Common Python errors and what they actually mean, plus the Python glossary for any term used on this page.