Bird
Raised Fist0
Pythonprogramming~5 mins

Dictionary use cases in Python - Cheat Sheet & Quick Revision

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
Recall & Review
beginner
What is a dictionary in Python?
A dictionary is a collection of key-value pairs where each key is unique. It allows fast lookup, insertion, and deletion of values based on keys.
Click to reveal answer
beginner
How can dictionaries be used to count occurrences of items?
You can use a dictionary to store items as keys and their counts as values. Each time an item appears, increase its count in the dictionary.
Click to reveal answer
beginner
Why are dictionaries useful for representing real-world data like a phone book?
Dictionaries map unique keys (like names) to values (like phone numbers), making it easy to find a phone number by name quickly.
Click to reveal answer
intermediate
How can dictionaries help in grouping data?
Dictionaries can group data by using keys as group names and values as lists of items belonging to each group.
Click to reveal answer
intermediate
What is a common use of dictionaries in caching?
Dictionaries store results of expensive computations with input parameters as keys, so repeated calls can return cached results quickly.
Click to reveal answer
Which data structure is best for fast lookup by a unique key?
AList
BDictionary
CTuple
DSet
How do you add a new key-value pair to a dictionary?
Adict.insert(key, value)
Bdict.add(key, value)
Cdict.append(key, value)
Ddict[key] = value
What happens if you use a key that already exists in a dictionary when assigning a value?
AThe key is duplicated
BAn error is raised
CThe old value is replaced with the new value
DThe dictionary ignores the new value
Which of these is NOT a typical use case for dictionaries?
AStoring ordered sequences
BCaching results
CMapping keys to values
DCounting items
How can dictionaries help group items by category?
AUse categories as keys and lists of items as values
BUse items as keys and categories as values
CUse lists inside keys
DDictionaries cannot group items
Explain three common use cases for dictionaries in Python.
Think about how dictionaries store data and how that helps in real-life tasks.
You got /4 concepts.
    Describe how you would use a dictionary to count how many times each word appears in a list.
    Imagine tallying votes or scores using a dictionary.
    You got /3 concepts.

      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