Python | Ways to check if element exists in list

List is an important container in python as if stores elements of all the datatypes as a collection. Knowledge of certain list operations are necessary for day-day programming. This article discusses one of the basic list operation of ways to check existence of element in 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 in is the most conventional way to check if an element exists in list or not. This particular way returns True if element exists in list and False if the element does not exists in list. List need not be sorted to practice this approach of checking.

Code #1 : Demonstrating to check existence of element in list using Naive method and in



filter_none

edit
close

play_arrow

link
brightness_4
code

# Python code to demonstrate
# checking of element existence
# using loops and in
  
# Initializing list 
test_list = [ 1, 6, 3, 5, 3, 4 ]
  
print("Checking if 4 exists in list ( using loop ) : ")
  
# Checking if 4 exists in list 
# using loop
for i in test_list:
    if(i == 4) :
        print ("Element Exists")
  
print("Checking if 4 exists in list ( using in ) : ")
  
# Checking if 4 exists in list 
# using in
if (4 in test_list):
    print ("Element Exists")

chevron_right


Output :

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 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. Other drawback is that set disallows duplicacy and hence duplicate elements would be removed from the original list.

Method 4 : Using sort() + bisect_left()

The conventional binary search way of testing of element existence, hence list has to be sorted first and hence not preserving the element ordering. bisect_left() returns the first occurence of element to be found and has working similar to lower_bound() in C++ STL.

Code #2 : Demonstrating to check existence of element in list using set() + in and sort() + bisect_left().

filter_none

edit
close

play_arrow

link
brightness_4
code

# Python code to demonstrate
# checking of element existence
# using set() + in
# using sort() + bisect_left()
from bisect import bisect_left 
  
# Initializing list 
test_list_set = [ 1, 6, 3, 5, 3, 4 ]
test_list_bisect = [ 1, 6, 3, 5, 3, 4 ]
  
print("Checking if 4 exists in list ( using set() + in) : ")
  
# Checking if 4 exists in list 
# using set() + in
test_list_set = set(test_list_set)
if 4 in test_list_set :
    print ("Element Exists")
  
print("Checking if 4 exists in list ( using sort() + bisect_left() ) : ")
  
# Checking if 4 exists in list 
# using sort() + bisect_left()
test_list_bisect.sort()
if bisect_left(test_list_bisect, 4):
    print ("Element Exists")

chevron_right




My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.