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?
Let’s see,
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.
1. remove()
Yes, 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[1] print(myList) #[3, 2, 1]
Note: You can also delete the entire list using del
keyword.
3. pop()
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 whereasdel
andpop
removes the element at a specific index.-
del
andpop
deals with the index. The only difference between the two is that-pop
return deleted the value from the list anddel
does not return anything. Pop
is the only way that returns the object.Remove
is 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
remove
method. - If you want to delete the object at a specific location (index) in the list, you can either use
del
orpop
. - Use the
pop
, if you want to delete and get the object at the specific location.
Note:
- 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.
FAQs
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.
Happy Pythoning!
Comments
Ruskar
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.
Aniruddha Chaudhari
You’re welcome, Ruskar. You can also check other Python tutorial. This might help you with your preparation.
Karthik
Also,
del
can be used to delete the entire list whereaspop
can only be used to delete element at a specific index.Aniruddha Chaudhari
Yeah. Right!
Hammad Khan
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?
Aniruddha Chaudhari
There can be some scenarios where you need to process the deleted/removed object.