A dictionary in Python is an unordered collection of key-value pairs. It is defined using curly braces {} and provides an efficient way to store and retrieve data using unique keys.
Creating a Dictionary
Dictionaries are created using curly braces {} or the dict() constructor.
# Using curly braces
student = {
"name": "Alice",
"age": 25,
"city": "New York"
}
# Using the dict() constructor
person = dict(name="John", age=30, city="San Francisco")
print(student) # {'name': 'Alice', 'age': 25, 'city': 'New York'}
print(person) # {'name': 'John', 'age': 30, 'city': 'San Francisco'}
Accessing Elements in a Dictionary
You can access dictionary values using keys.
student = {
"name": "Alice",
"age": 25,
"city": "New York"
}
# Using square brackets
print(student["name"]) # Alice
# Using the get() method (prevents KeyError)
print(student.get("age")) # 25
print(student.get("gender", "Not found")) # Not found
Updating a Dictionary
You can modify dictionary values by accessing them through keys.
student = {
"name": "Alice",
"age": 25,
"city": "New York"
}
student["age"] = 26
student["city"] = "Boston"
print(student) # {'name': 'Alice', 'age': 26, 'city': 'Boston'}
- Adding New Elements
You can add new key-value pairs.
student = {
"name": "Alice",
"age": 25,
"city": "New York"
}
student["course"] = "Computer Science"
print(student)
# {'name': 'Alice', 'age': 25, 'city': 'New York', 'course': 'Computer Science'}
- Removing Elements from a Dictionary
You can remove dictionary elements using del, pop(), popitem(), and clear().
student = {
"name": "Alice",
"age": 25,
"city": "New York",
"gender": "Female",
}
# Using del
del student["age"]
# Using pop()
course = student.pop("gender") # Removes and returns value
# Using popitem() (removes last inserted item)
last_item = student.popitem()
# Using clear() (removes all items)
student.clear()
print(student) # {}
Iterating Over a Dictionary
You can iterate over a dictionary using loops.
student = {
"name": "Alice",
"age": 25,
"city": "New York",
"gender": "Female",
}
# Iterating Over Keys
for key in student:
print(key, student[key])
# Iterating Over Values
for value in student.values():
print(value)
# Iterating Over Key-Value Pairs
for key, value in student.items():
print(key, value)
Checking Key Existence
student = {
"name": "Alice",
"age": 25,
"city": "New York",
"gender": "Female",
}
if "name" in student:
print(f"Name: {student["name"]}") # Name: Alice
Dictionary Comprehension
You can create dictionaries using dictionary comprehension.
squares = {x: x*x for x in range(1, 6)}
print(squares)
# {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
Nesting in Dictionaries
Dictionaries can store lists or other dictionaries.
# Nesting Lists in Dictionaries
students = {
"Alice": ["Math", "Science"],
"Bob": ["History", "Geography"]
}
print(students["Alice"]) # ['Math', 'Science']
# Nesting Dictionaries in Dictionaries
class_data = {
"Alice": {"age": 25, "city": "New York"},
"Bob": {"age": 22, "city": "Chicago"}
}
print(class_data["Alice"]["city"]) # New York