Bird
Raised Fist0
Intro to Computingfundamentals~6 mins

Dictionaries and key-value pairs in Intro to Computing - Full Explanation

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
Introduction
Imagine you have a big box of labeled jars, and you want to find the contents quickly without opening each jar. This is the problem dictionaries solve in computing: storing and finding information fast using labels called keys.
Explanation
What is a Dictionary?
A dictionary is a way to store information where each piece of data has a unique label called a key. Instead of just a list of items, you have pairs: a key and its matching value. This makes it easy to find the value by looking up its key.
A dictionary stores data as pairs of keys and values for quick access.
Keys and Values
Keys are like names or labels that identify each piece of data. Values are the actual data or information linked to those keys. Each key must be unique, but values can repeat or be anything like numbers, words, or even lists.
Keys uniquely identify values, which can be any type of data.
How Dictionaries Work
When you want to find a value, you give the dictionary the key. The dictionary then quickly finds and returns the matching value. This is faster than searching through a list because the dictionary uses the key to jump directly to the data.
Dictionaries use keys to quickly find and return their matching values.
Adding and Changing Data
You can add new key-value pairs to a dictionary or change the value for an existing key. If you add a pair with a key that already exists, the old value is replaced with the new one.
Dictionaries allow adding new pairs and updating values by key.
Real World Analogy

Think of a dictionary like a phone book where each person's name is a key and their phone number is the value. When you want to call someone, you look up their name and find their number quickly.

Dictionary → Phone book containing names and phone numbers
Key → Person's name in the phone book
Value → Person's phone number linked to their name
Adding and Changing Data → Adding a new contact or updating a phone number in the phone book
Diagram
Diagram
┌───────────────┐
│  Dictionary   │
├───────────────┤
│ Key   │ Value │
├───────┼───────┤
│ Name  │ Alice │
│ Age   │  30   │
│ City  │ Paris │
└───────┴───────┘
A simple dictionary table showing keys and their matching values.
Key Facts
DictionaryA data structure that stores data as key-value pairs.
KeyA unique label used to identify a value in a dictionary.
ValueThe data associated with a key in a dictionary.
Unique KeyEach key in a dictionary must be different from all others.
Key LookupThe process of finding a value by using its key.
Common Confusions
Thinking keys can be duplicated in a dictionary.
Thinking keys can be duplicated in a dictionary. Keys must be unique; if you add a pair with an existing key, it replaces the old value.
Believing values must be unique like keys.
Believing values must be unique like keys. Values can be repeated or any type; only keys need to be unique.
Assuming dictionaries keep data in order like lists.
Assuming dictionaries keep data in order like lists. Dictionaries do not guarantee order; they focus on fast key-based access.
Summary
Dictionaries store data as pairs of unique keys and their matching values for fast access.
Keys act like labels to find values quickly, similar to names in a phone book.
You can add new pairs or update existing values by using their keys.

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