Bird
Raised Fist0
Pythonprogramming~5 mins

Dictionary keys, values, and items 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 does the keys() method of a dictionary return?
The keys() method returns a view object that displays a dynamic view of all the keys in the dictionary.
Click to reveal answer
beginner
How can you get all the values from a dictionary?
You can use the values() method to get a view object containing all the values in the dictionary.
Click to reveal answer
beginner
What does the items() method return in a dictionary?
The items() method returns a view object of tuples, where each tuple contains a key and its corresponding value.
Click to reveal answer
beginner
How can you loop through both keys and values of a dictionary at the same time?
Use a for loop with items(), like: for key, value in my_dict.items(): to access both keys and values.
Click to reveal answer
intermediate
Are the objects returned by keys(), values(), and items() lists?
No, they are view objects that reflect changes in the dictionary but behave like sets or sequences, not regular lists.
Click to reveal answer
What type of object does my_dict.keys() return?
AA view object of dictionary keys
BA list of dictionary keys
CA tuple of dictionary keys
DA string of dictionary keys
Which method gives you both keys and values from a dictionary?
Aitems()
Bkeys()
Cvalues()
Dget()
How do you access the value inside a loop using items()?
Afor key in my_dict.items(): value = key
Bfor key, value in my_dict.items(): pass
Cfor value in my_dict.values(): pass
Dfor key in my_dict.keys(): value = key
If you change a dictionary after calling keys(), what happens to the keys view?
AIt stays the same as when created
BIt becomes a list
CIt raises an error
DIt updates to reflect the change
Which of these is NOT true about dictionary views?
AThey reflect changes in the dictionary
BThey can be iterated over
CThey are lists
DThey show current keys, values, or items
Explain how to get and use the keys, values, and items of a dictionary in Python.
Think about how you can see just keys, just values, or both together.
You got /4 concepts.
    Describe what happens to the objects returned by keys(), values(), and items() if the dictionary changes.
    Consider if these objects are snapshots or live views.
    You got /3 concepts.

      Practice

      (1/5)
      1. Which method would you use to get all the keys from a Python dictionary my_dict?
      easy
      A. my_dict.values()
      B. my_dict.get()
      C. my_dict.items()
      D. my_dict.keys()

      Solution

      1. Step 1: Understand dictionary methods

        The keys() method returns all keys in the dictionary.
      2. Step 2: Match method to requirement

        Since we want all keys, my_dict.keys() is the correct method.
      3. Final Answer:

        my_dict.keys() -> Option D
      4. Quick Check:

        keys() = my_dict.keys() [OK]
      Hint: Keys come from keys(), values from values(), pairs from items() [OK]
      Common Mistakes:
      • Confusing keys() with values()
      • Using get() which retrieves a single value
      • Using items() which returns key-value pairs
      2. Which of the following is the correct syntax to get all values from a dictionary data?
      easy
      A. data.values()
      B. data.get_values()
      C. data.values
      D. values(data)

      Solution

      1. Step 1: Recall method syntax

        Dictionary methods require parentheses to call them, so values() is correct.
      2. Step 2: Check each option

        data.values misses parentheses, get_values() and values(data) are invalid.
      3. Final Answer:

        data.values() -> Option A
      4. Quick Check:

        values() needs parentheses [OK]
      Hint: Always add () to call dictionary methods like values() [OK]
      Common Mistakes:
      • Forgetting parentheses after method name
      • Using non-existent methods like get_values()
      • Trying to call values() as a function with dictionary argument
      3. What is the output of this code?
      my_dict = {'a': 1, 'b': 2}
      print(list(my_dict.items()))
      medium
      A. [('a', 1), ('b', 2)]
      B. ['a', 'b']
      C. [1, 2]
      D. Error

      Solution

      1. Step 1: Understand items() method

        The items() method returns key-value pairs as tuples.
      2. Step 2: Convert items to list

        Using list() converts these pairs into a list of tuples: [('a', 1), ('b', 2)].
      3. Final Answer:

        [('a', 1), ('b', 2)] -> Option A
      4. Quick Check:

        items() = list of (key, value) pairs [OK]
      Hint: items() returns pairs; list() shows them as list of tuples [OK]
      Common Mistakes:
      • Thinking items() returns only keys or only values
      • Expecting a dictionary instead of list of tuples
      • Confusing items() with keys() or values()
      4. Find the error in this code snippet:
      my_dict = {'x': 10, 'y': 20}
      for key, value in my_dict.keys():
          print(key, value)
      medium
      A. Syntax error in for loop
      B. keys() returns only keys, cannot unpack into two variables
      C. Missing parentheses after print
      D. No error, code runs fine

      Solution

      1. Step 1: Check what keys() returns

        keys() returns only keys, so each item is a single value, not a pair.
      2. Step 2: Understand unpacking in for loop

        The loop tries to unpack each key into two variables, causing an error.
      3. Final Answer:

        keys() returns only keys, cannot unpack into two variables -> Option B
      4. Quick Check:

        keys() = keys only, no pairs [OK]
      Hint: keys() gives one value per item; items() gives pairs [OK]
      Common Mistakes:
      • Trying to unpack keys() into two variables
      • Confusing keys() with items()
      • Assuming keys() returns key-value pairs
      5. You have a dictionary grades = {'Alice': 85, 'Bob': 92, 'Charlie': 78}. Which code snippet correctly prints each student's name and grade using dictionary methods?
      hard
      A. for name, grade in grades.values(): print(name, grade)
      B. for name, grade in grades.keys(): print(name, grade)
      C. for name, grade in grades.items(): print(name, grade)
      D. for grade in grades.values(): print(grade)

      Solution

      1. Step 1: Identify method to get pairs

        items() returns key-value pairs, perfect for name and grade.
      2. Step 2: Check each option

        for name, grade in grades.values(): print(name, grade) unpacks grades.values() (single values): error. for name, grade in grades.keys(): print(name, grade) unpacks grades.keys() (single keys): error. for grade in grades.values(): print(grade) prints only grades. for name, grade in grades.items(): print(name, grade) correctly unpacks grades.items() pairs.
      3. Final Answer:

        for name, grade in grades.items(): print(name, grade) -> Option C
      4. Quick Check:

        items() gives key-value pairs for easy unpacking [OK]
      Hint: Use items() to loop over keys and values together [OK]
      Common Mistakes:
      • Using values() when keys and values needed
      • Unpacking values() which are single values
      • Using keys() without accessing values