Difference Between remove del and pop in Python List
We all know, Python list is a very important data type. We use it very frequently in our code and perform various operations on the Python list, like adding elements, updating elements and deleting elements from the Python list.
In this tutorial, we are going to cover the following points in detail.
- 3 methods to remove an element from the list
- What is the difference between these three methods?
- Which one you should use?
I have also explained these points in our CSEstack YouTube Channel. (Don’t forget to subscribe our YouTube channel.)
It does not matter how many lines of code you write every day. When you want to remove or delete any elements from the Python list, you do think- What is the difference between remove, del and pop in Python List and which one to use?
How to delete or remove the element from the list?
There are 3 different ways of removing or deleting elements from the list.
Let us check one by one.
remove() removes the first matching value/object. It does not do anything with the indexing.
myList = [1, 2, 3, 2] myList.remove(2) print(myList) #[1, 3, 2]
If you want to remove all the occurrences of an element in the list, you need to loop over all elements. Check the element and remove it if it is present.
2. del list
del removes the item at a specific index.
myList = [3, 2, 2, 1] del myList print(myList) #[3, 2, 1]
Note: You can also delete the entire list using
And pop removes the item at a specific index and returns it.
myList = [4, 3, 5] myList.pop(1) print(myList) #[4, 5]
Difference Between remove, del and pop in Python list
remove()delete the matching element/object whereas
popremoves the element at a specific index.
popdeals with the index. The only difference between the two is that-
popreturn deleted the value from the list and
deldoes not return anything.
Popis the only way that returns the object.
Removeis the only one that searches objects (not index).
Which is the best way to delete the element in the List?
- If you want to delete a specific object in the list, use
- If you want to delete the object at a specific location (index) in the list, you can either use
- Use the
pop, if you want to delete and get the object at the specific location.
- You don’t need to import any extra module to use these methods to remove an element from the list.
- You can not use these methods with a tuple as Python tuple is different from the list.
To remove an element from the Python list by index, use the keyword del or pop() method.
– The pop() uses the index to remove the element. To remove an element from the list using remove(), you have to provide the element itself.
– Unlike remove(), pop() method return element which is removed from the Python list.
– Check the code explained above as an example.
These are the main differences between pop() and remove().
Program for Practice:
- Write a Python program to find all the unique objects in the list and delete all the duplicate objects.
- Write a Python program to take the user input value and delete it from the list.
Hope this clears your doubt. Onwards, I am sure you will use the appropriate method to remove or delete the object from the Python list.
Write a comment if you have any points to discuss.
This is a very clear and precise discussion. I remember when I attended an interview I was asked for the difference between pip() and remove(). Thanks, Aniruddha.
You’re welcome, Ruskar. You can also check other Python tutorial. This might help you with your preparation.
delcan be used to delete the entire list whereas
popcan only be used to delete element at a specific index.
ok alright, but I have a question in mind that what can/will do we with the object returns after removing the element in a list using pop() method?
There can be some scenarios where you need to process the deleted/removed object.