Check if element exists in list in Python
List is an important container in python as if stores elements of all the datatypes as a collection. Knowledge of certain list operations is necessary for day-day programming. This article discusses one of the basic list operations of ways to check the existence of elements in the list.
Method 1: Naive Method
In Naive method, one easily uses a loop that iterates through all the elements to check the existence of the target element. This is the simplest way to check the existence of the element in the list.
Method 2: Using in
Python is the most conventional way to check if an element exists in a list or not. This particular way returns True if an element exists in the list and False if the element does not exist in the list. List need not be sorted to practice this approach of checking.
Code #1: Demonstrating to check the existence of an element in the list using the Naive method and in .
Checking if 4 exists in list ( using loop ) : Element Exists Checking if 4 exists in list ( using in ) : Element Exists
Method 3 : Using set() + in
Converting the list into the set and then using in can possibly be more efficient than only using in. But having efficiency for a plus also has certain negatives. One among them is that the order of list is not preserved, and if you opt to take a new list for it, you would require to use extra space. Another drawback is that set disallows duplicity and hence duplicate elements would be removed from the original list.
Method 4 : Using sort() + bisect_left()
The conventional binary search way of testing element existence, hence list has to be sorted first and hence not preserving the element ordering. bisect_left() returns the first occurrence of the element to be found and has worked similarly to lower_bound() in C++ STL.
Note: The bisect function will only state the position of where to insert the element but not the details about if the element is present or not.
Code #2 : Demonstrating to check existence of element in list using set() + in and sort() + bisect_left().
Method 5 : Using count()
We can use the in-built python List method, count(), to check if the passed element exists in List. If the passed element exists in the List, count() method will show the number of times it occurs in the entire list. If it is a non-zero positive number, it means an element exists in the List.
Code #3 : Demonstrating to check the existence of elements in the list using count().