---
# System prepended metadata

title: PID-1215

---

In Python, there are several ways to remove a key from a dictionary.

Using the `pop()` method:

The `pop(key, default)` method is used to remove a specific key from a dictionary and return its associated value. If the key is not found, it returns the default value (which defaults to raising a `KeyError` if not specified) [1].

Example (without default parameter):
```python
my_dict = {"apple": 2, "banana": 3, "orange": 5}
value = my_dict.pop("banana")
print(my_dict)  # Output: {'apple': 2, 'orange': 5}
print(value)    # Output: 3
```
Example (with default parameter):
```python
my_dict = {"apple": 2, "banana": 3, "orange": 5}
removed_value = my_dict.pop("grape", None)
print(removed_value)  # Output: None
print(my_dict)        # Output: {'apple': 2, 'banana': 3, 'orange': 5}
```
Default parameter of `pop()` method is kept as `None` to return `None`if specified key is not found in dictionary.

Using the `del` keyword:

The `del` keyword is used to remove a specific key from a dictionary. It does not return the removed value [2].

Example:
```python
my_dict = {"apple": 2, "banana": 3, "orange": 5}
del my_dict["banana"]
print(my_dict)  # Output: {'apple': 2, 'orange': 5}
```
The `del` keyword raises a `KeyError` if the specified key is not found in the dictionary. This can lead to unexpected program crashes if not handled.

Using `try...except` block to remove key from dictionary if key exists:

To handle cases where the key may not exist in the dictionary when using the `del` keyword or `pop()` method without default parameter, you can use a `try...except` block to catch and handle the `KeyError` exception gracefully [1].

Example:
```python
my_dict = {"apple": 2, "banana": 3, "orange": 5}
key_to_remove = "grape"

try:
    del my_dict[key_to_remove]
except KeyError:
    print(f"The key '{key_to_remove}' does not exist in the dictionary.")
```
Using `if` statement to remove key from dictionary if key exists:

If the key is not present in the dictionary, using `pop()` or `del` will raise a `KeyError`. To avoid this, you can use an `if` statement to check if the key is present in the dictionary before attempting to remove it [3].

Example:
```python
my_dict = {"apple": 2, "banana": 3, "orange": 5}
if "banana" in my_dict:
    del my_dict["banana"]
print(my_dict)  # Output: {'apple': 2, 'orange': 5}
```
Using the `popitem()` Method:

The `popitem()` method in Python is used to remove and return an arbitrary (key, value) pair from a dictionary. It operates in a manner where it removes a single key-value pair from the dictionary and returns that pair as a tuple [4].

Example:
```python
my_dict = {"apple": 2, "banana": 3, "orange": 5}
removed_item = my_dict.popitem()
print(removed_item)  # Output: ('orange', 5)
print(my_dict)       # Output: {'apple': 2, 'banana': 3}
```
Note that the order in which `popitem()` removes key-value pairs is not guaranteed to follow any specific order, as dictionaries in Python are unordered collections. It can remove any key-value pair from the dictionary.

The `popitem()` method is particularly useful when you don't care about the order of removal and simply want to remove and process items from the dictionary one by one.

Using a Loop to Remove Multiple Keys:

You can use a loop to iterate over a list of keys and remove them one by one using the `pop()` method or the `del` statement [6].
```python
my_dict = {"apple": 2, "banana": 3, "orange": 5}
keys_to_remove = ["apple", "banana"]
for key in keys_to_remove:
    my_dict.pop(key, None)
print(my_dict)         # Output: {'orange': 5}
```
Using Dictionary Comprehension:

You can use dictionary comprehension to create a new dictionary that excludes specific keys from the original dictionary [5].

Example:
```python
my_dict = {"apple": 2, "banana": 3, "orange": 5}
keys_to_remove = ["apple", "banana"]

# Create a new dictionary excluding keys to remove
my_dict = {key: value for key, value in my_dict.items() if key not in keys_to_remove}

print(my_dict)  # Output: {'orange': 5}
```

Using the `clear()` method to remove all keys:

The `clear()` method is used to remove all keys and their associated values from a dictionary, effectively emptying the dictionary [1].
```python
my_dict = {"apple": 2, "banana": 3, "orange": 5}
my_dict.clear()

print(my_dict)  # Output: {}
```