Bird
Raised Fist0
Pythonprogramming~20 mins

Accessing values using keys in Python - Practice Problems & Coding Challenges

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
Challenge - 5 Problems
๐ŸŽ–๏ธ
Key Mastery Badge
Get all challenges correct to earn this badge!
Test your skills under time pressure!
โ“ Predict Output
intermediate
2:00remaining
What is the output of accessing a nested dictionary value?
Given the dictionary data = {'user': {'name': 'Alice', 'age': 30}}, what is the output of print(data['user']['name'])?
Python
data = {'user': {'name': 'Alice', 'age': 30}}
print(data['user']['name'])
AKeyError
B30
CAlice
DNone
Attempts:
2 left
๐Ÿ’ก Hint
Think about how to access values inside nested dictionaries using keys.
โ“ Predict Output
intermediate
2:00remaining
What happens when accessing a missing key directly?
What error will this code produce?
info = {'city': 'Paris', 'country': 'France'}
print(info['population'])
Python
info = {'city': 'Paris', 'country': 'France'}
print(info['population'])
AKeyError
BParis
CNone
DTypeError
Attempts:
2 left
๐Ÿ’ก Hint
What happens if you try to get a key that does not exist in a dictionary?
โ“ Predict Output
advanced
2:00remaining
What is the output when using the get() method with a default value?
Consider the dictionary settings = {'theme': 'dark', 'font': 'Arial'}. What does print(settings.get('color', 'blue')) output?
Python
settings = {'theme': 'dark', 'font': 'Arial'}
print(settings.get('color', 'blue'))
AKeyError
BNone
Ccolor
Dblue
Attempts:
2 left
๐Ÿ’ก Hint
The get() method returns the default value if the key is missing.
โ“ Predict Output
advanced
2:00remaining
What is the output when accessing a key with a mutable object as key?
What happens when running this code?
my_dict = {[1, 2]: 'value'}
Python
my_dict = {[1, 2]: 'value'}
ASyntaxError
BTypeError
CKeyError
D{[1, 2]: 'value'}
Attempts:
2 left
๐Ÿ’ก Hint
Dictionary keys must be immutable types.
๐Ÿง  Conceptual
expert
2:00remaining
How many items are in the dictionary after this code runs?
What is the number of items in result after executing this code?
keys = ['a', 'b', 'a', 'c']
values = [1, 2, 3, 4]
result = {k: v for k, v in zip(keys, values)}
A3
B1
C2
D4
Attempts:
2 left
๐Ÿ’ก Hint
Dictionary keys must be unique; later values overwrite earlier ones.

Practice

(1/5)
1. What is the correct way to access the value associated with the key 'name' in the dictionary person = {'name': 'Alice', 'age': 30}?
easy
A. person.get('age')
B. person.name
C. person['name']
D. person['Alice']

Solution

  1. Step 1: Identify the dictionary and key

    The dictionary is person and the key to access is 'name'.
  2. Step 2: Use correct syntax to access value by key

    In Python, dictionary values are accessed using square brackets and the key as a string: person['name'].
  3. Final Answer:

    person['name'] -> Option C
  4. Quick Check:

    Access value by key = person['name'] [OK]
Hint: Use square brackets with the key string to get value [OK]
Common Mistakes:
  • Using dot notation like person.name (not valid for dict)
  • Using a value instead of key inside brackets
  • Accessing a different key than asked
2. Which of the following is the correct syntax to safely get the value for key 'city' from dictionary data without causing an error if the key does not exist?
easy
A. data['city']
B. data.get('city')
C. data.city
D. data['City']

Solution

  1. Step 1: Understand safe access in dictionaries

    Using data['city'] causes an error if the key is missing. Using data.get('city') returns None instead.
  2. Step 2: Identify correct method for safe access

    The get() method is designed to safely access keys without errors.
  3. Final Answer:

    data.get('city') -> Option B
  4. Quick Check:

    Safe key access = data.get('city') [OK]
Hint: Use get() to avoid errors if key missing [OK]
Common Mistakes:
  • Using square brackets which raise KeyError if key missing
  • Using dot notation which is invalid for dict
  • Using wrong key case causing KeyError
3. What will be the output of this code?
info = {'a': 1, 'b': 2, 'c': 3}
print(info['b'])
medium
A. 2
B. 1
C. 3
D. KeyError

Solution

  1. Step 1: Identify the dictionary and key accessed

    The dictionary info has key 'b' with value 2.
  2. Step 2: Access the value using the key

    The code prints info['b'], which is 2.
  3. Final Answer:

    2 -> Option A
  4. Quick Check:

    info['b'] = 2 [OK]
Hint: Look up the key's value directly in the dictionary [OK]
Common Mistakes:
  • Confusing key with value
  • Expecting KeyError when key exists
  • Mixing up keys and values
4. The following code causes an error. What is the problem?
data = {'x': 10, 'y': 20}
print(data['z'])
medium
A. TypeError because keys must be integers
B. SyntaxError due to wrong brackets
C. No error, prints 0
D. KeyError because 'z' is not in the dictionary

Solution

  1. Step 1: Check if key exists in dictionary

    The key 'z' is not present in data.
  2. Step 2: Understand error caused by missing key

    Accessing a missing key with square brackets raises a KeyError.
  3. Final Answer:

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

    Missing key access = KeyError [OK]
Hint: Check if key exists before accessing or use get() [OK]
Common Mistakes:
  • Assuming missing keys return 0 or None
  • Confusing syntax error with runtime error
  • Using wrong bracket types
5. Given the dictionary grades = {'Alice': 85, 'Bob': 92, 'Charlie': 78}, which code snippet correctly prints Bob's grade or 'Not found' if Bob is not in the dictionary?
hard
A. print(grades.get('Bob', 'Not found'))
B. print(grades['Bob'] or 'Not found')
C. print(grades['bob'] or 'Not found')
D. print(grades.get('Bob'))

Solution

  1. Step 1: Understand the goal

    We want to print Bob's grade if present, otherwise print 'Not found'.
  2. Step 2: Analyze each option

    print(grades['Bob'] or 'Not found') will raise KeyError if key missing because access happens before 'or'. print(grades.get('Bob', 'Not found')) uses get() with default value, which is concise and safe. print(grades['bob'] or 'Not found') uses wrong key case and will fail. print(grades.get('Bob')) prints None if key missing, not 'Not found'.
  3. Final Answer:

    print(grades.get('Bob', 'Not found')) -> Option A
  4. Quick Check:

    Use get() with default for safe access [OK]
Hint: Use get(key, default) to handle missing keys easily [OK]
Common Mistakes:
  • Using wrong key case causing missing key
  • Not providing default value in get()
  • Assuming or operator works for missing keys