Bird
Raised Fist0
Intro to Computingfundamentals~10 mins

Dictionaries and key-value pairs in Intro to Computing - Draw & Build Visually

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Draw This - beginner

Draw a diagram to represent a dictionary that stores the names of three fruits as keys and their colors as values. Use the following data: Apple - Red, Banana - Yellow, Grape - Purple.

5 minutes
Hint 1
Hint 2
Hint 3
Grading Criteria
Keys and values are clearly labeled
Each key has exactly one arrow pointing to its value
All three key-value pairs from the prompt are included
Boxes or shapes are used to represent keys and values
Arrows or lines correctly connect keys to their values
Solution
  +---------+       +-------+
  |  Apple  | ----> |  Red  |
  +---------+       +-------+

  +----------+      +---------+
  |  Banana  | ----> | Yellow |
  +----------+      +---------+

  +---------+       +---------+
  |  Grape  | ----> | Purple  |
  +---------+       +---------+

This diagram shows a dictionary with three key-value pairs. Each key (fruit name) is inside a box on the left. An arrow points from each key to its value (color) on the right. This visually represents how a dictionary stores data: each key is linked to a specific value.

For example, the key "Apple" points to the value "Red", meaning the color of an apple is red. Similarly, "Banana" points to "Yellow", and "Grape" points to "Purple".

Variations - 2 Challenges
[intermediate] Draw a diagram for a dictionary storing four countries as keys and their capitals as values: France - Paris, Japan - Tokyo, Brazil - Brasília, Canada - Ottawa.
[advanced] Draw a flowchart that shows how to look up a value in a dictionary given a key. Use the example dictionary: Dog - Bark, Cat - Meow, Cow - Moo.

Practice

(1/5)
1. What is a dictionary in computing fundamentals?
easy
A. A sequence of characters forming a word
B. A list of numbers sorted in order
C. A type of loop used for iteration
D. A collection of key-value pairs for storing data

Solution

  1. Step 1: Understand the definition of a dictionary

    A dictionary stores data as pairs where each key is linked to a value.
  2. Step 2: Compare with other data types

    Unlike lists or strings, dictionaries use keys to quickly find values.
  3. Final Answer:

    A collection of key-value pairs for storing data -> Option D
  4. Quick Check:

    Dictionary = key-value pairs [OK]
Hint: Remember: dictionary = keys + values [OK]
Common Mistakes:
  • Confusing dictionary with list or string
  • Thinking dictionary is a type of loop
  • Believing dictionary stores only numbers
2. Which of the following is the correct way to create a dictionary with keys 'name' and 'age'?
easy
A. ['name' = 'Alice', 'age' = 30]
B. {'name': 'Alice', 'age': 30}
C. {'name' -> 'Alice', 'age' -> 30}
D. ('name': 'Alice', 'age': 30)

Solution

  1. Step 1: Identify correct dictionary syntax

    Dictionaries use curly braces {} with key:value pairs separated by commas.
  2. Step 2: Check each option

    {'name': 'Alice', 'age': 30} uses correct syntax with colons and curly braces; others use wrong symbols or brackets.
  3. Final Answer:

    {'name': 'Alice', 'age': 30} -> Option B
  4. Quick Check:

    Dictionary syntax = curly braces + colons [OK]
Hint: Use curly braces and colons for dictionaries [OK]
Common Mistakes:
  • Using square brackets instead of curly braces
  • Using '=' or '->' instead of ':'
  • Using parentheses instead of braces
3. What will be the output of the following code?
person = {'name': 'Bob', 'age': 25}
print(person['age'])
medium
A. Bob
B. Error
C. 25
D. 'age'

Solution

  1. Step 1: Understand dictionary access by key

    Accessing person['age'] retrieves the value linked to key 'age'.
  2. Step 2: Identify the value for key 'age'

    The value stored is 25, so print(person['age']) outputs 25.
  3. Final Answer:

    25 -> Option C
  4. Quick Check:

    person['age'] = 25 [OK]
Hint: Keys fetch their values directly from dictionary [OK]
Common Mistakes:
  • Printing the key name instead of value
  • Confusing key with value
  • Expecting the whole dictionary to print
4. Identify the error in this dictionary code:
data = {'x': 10, 'y': 20, 'x': 30}
print(data['x'])
medium
A. Duplicate keys cause the last value to overwrite earlier ones
B. Syntax error due to missing comma
C. Keys must be numbers, not strings
D. Cannot print dictionary values directly

Solution

  1. Step 1: Check for duplicate keys in dictionary

    The key 'x' appears twice; dictionaries keep only the last value for duplicates.
  2. Step 2: Understand output of print statement

    Printing data['x'] shows 30, the last assigned value, overwriting 10.
  3. Final Answer:

    Duplicate keys cause the last value to overwrite earlier ones -> Option A
  4. Quick Check:

    Duplicate keys overwrite previous values [OK]
Hint: Duplicate keys keep only last value [OK]
Common Mistakes:
  • Thinking duplicate keys cause syntax error
  • Expecting both values to be stored
  • Believing keys must be numbers
5. Given a list of students and their scores:
students = [('Anna', 85), ('Ben', 92), ('Cara', 85), ('Dan', 92)]

Which dictionary comprehension creates a dictionary mapping each student to their score?
hard
A. {name: score for name, score in students}
B. {score: name for name, score in students}
C. {name: score if score > 90 else 0 for name, score in students}
D. {score: name if name.startswith('A') else 'Unknown' for name, score in students}

Solution

  1. Step 1: Understand the goal

    Create a dictionary with student names as keys and scores as values.
  2. Step 2: Analyze each comprehension

    {name: score for name, score in students} correctly maps name: score. {score: name for name, score in students} reverses keys and values, causing score keys to overwrite. Options C and D add conditions changing values or keys incorrectly.
  3. Final Answer:

    {name: score for name, score in students} -> Option A
  4. Quick Check:

    Keys = names, Values = scores [OK]
Hint: Keys are unique; use names as keys to avoid overwriting [OK]
Common Mistakes:
  • Using scores as keys causing overwrites
  • Adding conditions that change keys incorrectly
  • Confusing key-value order in comprehension