Bird
Raised Fist0
Pythonprogramming~10 mins

Dictionary creation in Python - Step-by-Step Execution

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
Concept Flow - Dictionary creation
Start
Define key-value pairs
Use {} or dict()
Create dictionary object
Dictionary ready to use
End
This flow shows how a dictionary is created by defining key-value pairs inside curly braces or using the dict() function, resulting in a dictionary object ready for use.
Execution Sample
Python
my_dict = {"apple": 3, "banana": 5}
print(my_dict)
Creates a dictionary with two fruit keys and prints it.
Execution Table
StepActionKey-Value Pair AddedDictionary StateOutput
1Start dictionary creationNone{}
2Add key 'apple' with value 3"apple": 3{"apple": 3}
3Add key 'banana' with value 5"banana": 5{"apple": 3, "banana": 5}
4Print dictionaryNone{"apple": 3, "banana": 5}{'apple': 3, 'banana': 5}
5EndNone{"apple": 3, "banana": 5}
💡 Dictionary created and printed successfully.
Variable Tracker
VariableStartAfter Step 2After Step 3Final
my_dictundefined{"apple": 3}{"apple": 3, "banana": 5}{"apple": 3, "banana": 5}
Key Moments - 3 Insights
Why do we use curly braces {} to create a dictionary?
Curly braces {} tell Python to create a dictionary object with key-value pairs inside, as shown in steps 2 and 3 of the execution table.
Can dictionary keys be repeated?
No, keys must be unique. If repeated, the last value for that key is kept. This is why each key appears once in the dictionary state in the execution table.
What happens if we print the dictionary before adding any pairs?
It would print an empty dictionary {} as shown in step 1, before any key-value pairs are added.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution table, what is the dictionary state after step 2?
A{}
B{"banana": 5}
C{"apple": 3}
D{"apple": 3, "banana": 5}
💡 Hint
Check the 'Dictionary State' column in row for step 2.
At which step is the dictionary printed?
AStep 4
BStep 2
CStep 3
DStep 5
💡 Hint
Look for the 'Print dictionary' action in the execution table.
If we add a key 'apple' again with value 10 at step 3, what would be the final value for 'apple'?
A3
B10
CError
DNone
💡 Hint
Dictionary keys are unique; the last value assigned to a key is kept.
Concept Snapshot
Dictionary creation in Python:
- Use curly braces {} with key:value pairs inside.
- Keys must be unique and immutable.
- Values can be any type.
- Example: my_dict = {"key1": value1, "key2": value2}
- Use print() to see the dictionary contents.
Full Transcript
This visual execution shows how a dictionary is created in Python by defining key-value pairs inside curly braces. We start with an empty dictionary, add pairs one by one, and then print the dictionary. The variable 'my_dict' changes from undefined to a dictionary with two keys: 'apple' and 'banana'. Keys must be unique, and the dictionary is ready to use after creation.

Practice

(1/5)
1. Which of the following is the correct way to create an empty dictionary in Python?
easy
A. my_dict = ()
B. my_dict = []
C. my_dict = {}
D. my_dict = ''

Solution

  1. Step 1: Understand dictionary syntax

    Dictionaries in Python are created using curly braces {}.
  2. Step 2: Identify the empty dictionary

    An empty dictionary is represented as {}, not square brackets, parentheses, or quotes.
  3. Final Answer:

    my_dict = {} -> Option C
  4. Quick Check:

    Empty dictionary = {} [OK]
Hint: Use curly braces {} for dictionaries, brackets [] for lists [OK]
Common Mistakes:
  • Using [] which creates a list, not a dictionary
  • Using () which creates a tuple, not a dictionary
  • Using '' which creates an empty string
2. Which of the following is the correct syntax to create a dictionary with keys 'a' and 'b' and values 1 and 2 respectively?
easy
A. my_dict = ['a':1, 'b':2]
B. my_dict = {'a'=1, 'b'=2}
C. my_dict = ('a':1, 'b':2)
D. my_dict = {'a':1, 'b':2}

Solution

  1. Step 1: Check dictionary key-value pair syntax

    Dictionary pairs use colon : between key and value inside curly braces.
  2. Step 2: Identify correct syntax

    my_dict = {'a':1, 'b':2} uses curly braces and colons correctly. Options A and C use wrong brackets, and D uses equals sign which is invalid.
  3. Final Answer:

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

    Dictionary pairs use : inside {} [OK]
Hint: Use colons : between keys and values inside {} [OK]
Common Mistakes:
  • Using square brackets [] instead of curly braces {}
  • Using parentheses () instead of curly braces {}
  • Using equals sign = instead of colon :
3. What will be the output of the following code?
my_dict = {1: 'one', 2: 'two', 3: 'three'}
print(my_dict[2])
medium
A. 'two'
B. KeyError
C. 2
D. 'one'

Solution

  1. Step 1: Understand dictionary key lookup

    Accessing my_dict[2] retrieves the value for key 2.
  2. Step 2: Find value for key 2

    Key 2 maps to the string 'two' in the dictionary.
  3. Final Answer:

    'two' -> Option A
  4. Quick Check:

    my_dict[2] = 'two' [OK]
Hint: Dictionary[key] returns the value for that key [OK]
Common Mistakes:
  • Confusing keys and values
  • Expecting the key itself as output
  • Mistaking KeyError when key exists
4. The following code throws an error. What is the problem?
my_dict = {1: 'one', 2: 'two', 3: 'three'}
print(my_dict[4])
medium
A. Key 4 does not exist in the dictionary
B. Syntax error in dictionary creation
C. Values must be integers, not strings
D. Dictionary keys must be strings

Solution

  1. Step 1: Check dictionary keys

    The dictionary has keys 1, 2, and 3 only.
  2. Step 2: Accessing a missing key

    Trying to access my_dict[4] causes a KeyError because key 4 is not present.
  3. Final Answer:

    Key 4 does not exist in the dictionary -> Option A
  4. Quick Check:

    Accessing missing key causes KeyError [OK]
Hint: Check if key exists before accessing dictionary [OK]
Common Mistakes:
  • Assuming all keys exist
  • Confusing syntax error with runtime error
  • Thinking keys must be strings
5. You want to create a dictionary from two lists: keys = ['name', 'age', 'city'] and values = ['Alice', 30, 'NY']. Which code correctly creates this dictionary?
hard
A. my_dict = {keys: values}
B. my_dict = {keys[i]: values[i] for i in range(len(keys))}
C. my_dict = dict(keys, values)
D. my_dict = dict(zip(values, keys))

Solution

  1. Step 1: Understand dictionary creation from two lists

    We need to pair each key with its corresponding value by index.
  2. Step 2: Analyze options

    my_dict = {keys[i]: values[i] for i in range(len(keys))} uses dictionary comprehension with index to pair keys and values correctly. my_dict = dict(keys, values) is invalid syntax. my_dict = {keys: values} creates a dictionary with one key (the list) which is invalid. my_dict = dict(zip(values, keys)) reverses keys and values.
  3. Final Answer:

    my_dict = {keys[i]: values[i] for i in range(len(keys))} -> Option B
  4. Quick Check:

    Use dict comprehension with index to pair keys and values [OK]
Hint: Use dict comprehension with index or zip() to pair keys and values [OK]
Common Mistakes:
  • Using dict() with two lists directly
  • Swapping keys and values in zip()
  • Using list as a key