Python – Test if List contains elements in Range
A lot of times, while working with data, we have a problem in which we need to make sure that a container or a list is having elements in just one range. This has application in Data Domains. Let’s discuss certain ways in which this task can be performed.
Method #1 : Using loop This is brute force method in which this task can be performed. In this, we just check using if condition if element falls in range, and break if we find even one occurrence out of range.
Python3
# Python3 code to demonstrate # Test if List contains elements in Range # using loop # Initializing loop test_list = [ 4 , 5 , 6 , 7 , 3 , 9 ] # printing original list print ("The original list is : " + str (test_list)) # Initialization of range i, j = 3 , 10 # Test if List contains elements in Range # using loop res = True for ele in test_list: if ele < i or ele > = j : res = False break # printing result print ("Does list contain all elements in range : " + str (res)) |
The original list is : [4, 5, 6, 7, 3, 9] Does list contain all elements in range : True
Method #2 : Using all() This is alternative and shorter way to perform this task. In this we use check operation as a parameter to all() and returns True when all elements in range.
Python3
# Python3 code to demonstrate # Test if List contains elements in Range # using all() # Initializing loop test_list = [ 4 , 5 , 6 , 7 , 3 , 9 ] # printing original list print ("The original list is : " + str (test_list)) # Initialization of range i, j = 3 , 10 # Test if List contains elements in Range # using all() res = all (ele > = i and ele < j for ele in test_list) # printing result print ("Does list contain all elements in range : " + str (res)) |
The original list is : [4, 5, 6, 7, 3, 9] Does list contain all elements in range : True
Method #3 : Using list comprehension and len()
This method uses a simple list comprehension which returns all elements which fall out of the given range. And then the length of this list is taken, if it is 0 that means all elements are in range and returns True, else returns False.
Python3
#Python3 code to demonstrate #Test if List contains elements in Range #using List Comprehension and len() #Initializing list test_list = [ 4 , 5 , 6 , 7 , 3 , 9 ] #printing original list print ( "The original list is : " + str (test_list)) #Initialization of range i, j = 3 , 10 #Test if List contains elements in Range #using List Comprehension and len() out_of_range = len ([ele for ele in test_list if ele < i or ele > = j]) = = 0 #printing result print ( "Does list contain all elements in range : " + str (out_of_range)) |
The original list is : [4, 5, 6, 7, 3, 9] Does list contain all elements in range : True
Time complexity: O(n)
Auxiliary Space: O(n)
Please Login to comment...