The Python del keyword is used to delete objects. Its syntax is:
# delete obj_name del obj_name Here, obj_name can be variables, user-defined objects, lists, items within lists, dictionaries etc.
Example 1: Delete an user-defined object
class MyClass: a = 10 def func(self): print('Hello') # Output: print(MyClass) # deleting MyClass del MyClass # Error: MyClass is not defined print(MyClass) In the program, we have deleted MyClass using del MyClass statement.
Example 2: Delete variable, list, and dictionary
my_var = 5 my_tuple = ('Sam', 25) my_dict = {'name': 'Sam', 'age': 25} del my_var del my_tuple del my_dict # Error: my_var is not defined print(my_var) # Error: my_tuple is not defined print(my_tuple) # Error: my_dict is not defined print(my_dict) Example 3: Remove items, slices from a list
The del statement can be used to delete an item at a given index. It can also be used to remove slices from a list.
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9] # deleting the third item del my_list[2] # Output: [1, 2, 4, 5, 6, 7, 8, 9] print(my_list) # deleting items from 2nd to 4th del my_list[1:4] # Output: [1, 6, 7, 8, 9] print(my_list) # deleting all elements del my_list[:] # Output: [] print(my_list) Example 4: Remove a key:value pair from a dictionary
person = { 'name': 'Sam', 'age': 25, 'profession': 'Programmer' } del person['profession'] # Output: {'name': 'Sam', 'age': 25} print(person) Recommended Reading: Python Dictionary
del With Tuples and Strings
Note: You can't delete items of tuples and strings in Python. It's because tuples and strings are immutables; objects that can't be changed after their creation.
my_tuple = (1, 2, 3) # Error: 'tuple' object doesn't support item deletion del my_tuple[1] However, you can delete an entire tuple or string.
my_tuple = (1, 2, 3) # deleting tuple del my_tuple