Bird
Raised Fist0
Pythonprogramming~10 mins

Dictionary use cases in Python - Interactive Code Practice

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
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to create a dictionary with keys 'a' and 'b' and values 1 and 2.

Python
my_dict = {'a': [1], 'b': 2}
Drag options to blanks, or click blank then click option'
A1
B'1'
C3
D0
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using a string '1' instead of number 1
Using wrong number like 3 or 0
2fill in blank
medium

Complete the code to access the value of key 'name' from the dictionary.

Python
person = {'name': 'Alice', 'age': 30}
print(person[1])
Drag options to blanks, or click blank then click option'
A['Name']
B['name']
C['age']
D['NAME']
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using wrong key case
Using key 'age' instead of 'name'
3fill in blank
hard

Fix the error in the code to add a new key 'city' with value 'Paris' to the dictionary.

Python
data = {'country': 'France'}
data[1] = 'Paris'
print(data)
Drag options to blanks, or click blank then click option'
A('city')
B.append('city')
C['city']
D.add('city')
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using append or add methods which are for lists or sets
Using parentheses instead of brackets
4fill in blank
hard

Fill both blanks to create a dictionary comprehension that maps numbers to their squares for numbers greater than 2.

Python
squares = {x: x[1]2 for x in range(1, 6) if x [2] 2}
Drag options to blanks, or click blank then click option'
A**
B>
C<
D+
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using '+' instead of '**' for squaring
Using '<' instead of '>' for filtering
5fill in blank
hard

Fill all three blanks to create a dictionary from a list of tuples, including only items with value greater than 10.

Python
items = [('apple', 5), ('banana', 15), ('cherry', 20)]
result = [1]: [2] for [3] in items if [2] > 10}
Drag options to blanks, or click blank then click option'
Afruit
Bcount
Cfruit, count
Ditem
Attempts:
3 left
๐Ÿ’ก Hint
Common Mistakes
Using single variable instead of unpacking
Using wrong variable names
Not filtering values correctly

Practice

(1/5)
1. What is the main purpose of a dictionary in Python?
easy
A. To store data as key-value pairs for quick access
B. To store data in a fixed order like a list
C. To perform mathematical calculations
D. To create a sequence of numbers

Solution

  1. Step 1: Understand dictionary structure

    Dictionaries store data in pairs where each key maps to a value.
  2. Step 2: Identify dictionary use case

    This structure allows fast lookup by key, unlike lists which use indexes.
  3. Final Answer:

    To store data as key-value pairs for quick access -> Option A
  4. Quick Check:

    Dictionaries = key-value pairs [OK]
Hint: Remember: dictionaries use keys to find values fast [OK]
Common Mistakes:
  • Confusing dictionaries with lists or sets
  • Thinking dictionaries keep order like lists
  • Assuming dictionaries store only numbers
2. Which of the following is the correct way to add a new key-value pair to a dictionary my_dict?
easy
A. my_dict.append('key', 'value')
B. my_dict.add('key', 'value')
C. my_dict['key'] = 'value'
D. my_dict.insert('key', 'value')

Solution

  1. Step 1: Recall dictionary syntax for adding items

    To add or update a key-value pair, use square brackets with the key and assign a value.
  2. Step 2: Check each option

    Only my_dict['key'] = 'value' correctly adds or updates the dictionary.
  3. Final Answer:

    my_dict['key'] = 'value' -> Option C
  4. Quick Check:

    Use square brackets to add/update dict items [OK]
Hint: Use square brackets and assignment to add dict items [OK]
Common Mistakes:
  • Using list methods like append or insert on dictionaries
  • Trying to use a non-existent add() method
  • Confusing dictionary syntax with list syntax
3. What will be the output of the following code?
my_dict = {'a': 1, 'b': 2}
my_dict['c'] = 3
print(my_dict)
medium
A. Error: Cannot add new key
B. {'a': 1, 'b': 2}
C. {'c': 3}
D. {'a': 1, 'b': 2, 'c': 3}

Solution

  1. Step 1: Understand dictionary update

    Adding my_dict['c'] = 3 adds a new key 'c' with value 3.
  2. Step 2: Print the updated dictionary

    Printing shows all keys and values including the new one.
  3. Final Answer:

    {'a': 1, 'b': 2, 'c': 3} -> Option D
  4. Quick Check:

    Adding key updates dict content [OK]
Hint: Adding key-value pairs updates dictionary instantly [OK]
Common Mistakes:
  • Expecting original dict without new key
  • Thinking print shows only last added key
  • Assuming error when adding new keys
4. Find the error in this code snippet:
my_dict = {'x': 10, 'y': 20}
print(my_dict['z'])
medium
A. KeyError because 'z' is not in the dictionary
B. SyntaxError due to wrong brackets
C. TypeError because dictionary keys must be integers
D. No error, prints 0

Solution

  1. Step 1: Check dictionary keys

    Keys are 'x' and 'y', but 'z' is not present.
  2. Step 2: Accessing missing key causes error

    Trying to print my_dict['z'] raises a KeyError.
  3. Final Answer:

    KeyError because 'z' is not in the dictionary -> Option A
  4. Quick Check:

    Access missing key = KeyError [OK]
Hint: Accessing missing keys causes KeyError [OK]
Common Mistakes:
  • Assuming missing keys return 0 or None
  • Confusing KeyError with SyntaxError
  • Trying to use wrong bracket types
5. Given a list of tuples representing student names and scores:
students = [('Alice', 85), ('Bob', 90), ('Alice', 95)]

Which code correctly creates a dictionary with the latest score for each student?
hard
A. scores = dict(students) scores['Alice'] = 85
B. scores = {name: score for name, score in students}
C. scores = {} for name, score in students: if name not in scores: scores[name] = score
D. scores = {name: max(score) for name, score in students}

Solution

  1. Step 1: Understand dictionary comprehension behavior

    When keys repeat, the last value overwrites earlier ones.
  2. Step 2: Check each option

    scores = {name: score for name, score in students} uses comprehension that keeps the last score for 'Alice' (95). scores = dict(students) scores['Alice'] = 85 wrongly resets 'Alice' score. scores = {} for name, score in students: if name not in scores: scores[name] = score keeps only first score. scores = {name: max(score) for name, score in students} is invalid syntax.
  3. Final Answer:

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

    Dict comprehension overwrites duplicate keys [OK]
Hint: Dict comprehension keeps last value for duplicate keys [OK]
Common Mistakes:
  • Assuming dict keeps first value for duplicates
  • Using invalid syntax for max(score)
  • Manually overwriting values incorrectly