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: {} ```