Here are more examples with different scenarios for deleting elements from a dictionary in Python:
1. del
Statement
Example 1: Delete a Key with Error Handling
my_dict = {"name": "Alice", "age": 30, "city": "Paris"}
try:
del my_dict["country"] # Key does NOT exist
except KeyError:
print("Key not found!") # Handle missing key
Example 2: Delete Multiple Keys (Loop)
keys_to_remove = ["age", "city"]
for key in keys_to_remove:
if key in my_dict:
del my_dict[key]
print(my_dict) # Output: {'name': 'Alice'}
2. pop()
Method
Example 1: Pop with Default Value
value = my_dict.pop("country", "N/A") # Returns "N/A" if key missing
print(value) # Output: N/A
Example 2: Pop and Use the Deleted Value
my_dict = {"x": 10, "y": 20, "z": 30}
x_val = my_dict.pop("x")
print(f"Removed value: {x_val}") # Output: Removed value: 10
print(my_dict) # Output: {'y': 20, 'z': 30}
3. popitem()
Method
Example 1: Remove Last Inserted Item (Python 3.7+)
my_dict = {"a": 1, "b": 2}
my_dict["c"] = 3 # Insert new key
deleted_item = my_dict.popitem() # Removes ('c', 3)
print(deleted_item) # Output: ('c', 3)
Example 2: Empty the Dictionary with popitem
while my_dict:
key, val = my_dict.popitem()
print(f"Removed: {key} -> {val}")
# Output:
# Removed: b -> 2
# Removed: a -> 1
4. Dictionary Comprehension
Example 1: Remove Keys with Specific Values
my_dict = {"a": 1, "b": 2, "c": 3, "d": 2}
my_dict = {k: v for k, v in my_dict.items() if v != 2}
print(my_dict) # Output: {'a': 1, 'c': 3}
Example 2: Remove Keys Starting with “temp_”
my_dict = {"temp_1": 10, "data": 42, "temp_2": 20}
my_dict = {k: v for k, v in my_dict.items() if not k.startswith("temp_")}
print(my_dict) # Output: {'data': 42}
5. clear()
Method
Example: Delete All Elements
my_dict = {"a": 1, "b": 2}
my_dict.clear()
print(my_dict) # Output: {}
6. Conditional Deletion (Loop)
Example: Remove Keys with Even Values
my_dict = {"a": 1, "b": 2, "c": 3, "d": 4}
keys_to_delete = [k for k, v in my_dict.items() if v % 2 == 0]
for key in keys_to_delete:
del my_dict[key]
print(my_dict) # Output: {'a': 1, 'c': 3}
Key Takeaways:
- Use
del
for direct deletion (handle errors withtry
/except
). - Use
pop()
to safely remove and retrieve values. - Use
popitem()
for ordered dictionaries (Python 3.7+). - Use comprehensions for non-destructive filtering.
- Avoid modifying a dictionary while iterating; collect keys to delete first.
Let me know if you need further clarification!