# Python | Check if all elements in list follow a condition

• Difficulty Level : Easy
• Last Updated : 20 Mar, 2023

Sometimes, while working with Python list, we can have a problem in which we need to check if all the elements in list abide to a particular condition. This can have application in filtering in web development domain. Let’s discuss certain ways in which this task can be performed.

Method #1 : Using all() We can use all(), to perform this particular task. In this, we feed the condition and the validation with all the elements is checked by all() internally.

## Python3

 # Python3 code to demonstrate working of# Check if all elements in list follow a condition# Using all() # initializing listtest_list = [4, 5, 8, 9, 10] # printing listprint("The original list : " + str(test_list)) # Check if all elements in list follow a condition# Using all()res = all(ele > 3 for ele in test_list) # Printing resultprint("Are all elements greater than 3 ? : " + str(res))

Output

The original list : [4, 5, 8, 9, 10]
Are all elements greater than 3 ? : True

Time Complexity: O(n)
Auxiliary Space: O(n), where n is length of list.

Method #2 : Using itertools.takewhile() This function can also be used to code solution of this problem. In this, we just need to process the loop till a condition is met and increment the counter. If it matches list length, then all elements meet that condition.

## Python3

 # Python3 code to demonstrate working of# Check if all elements in list follow a condition# Using itertools.takewhile()import itertools # initializing listtest_list = [4, 5, 8, 9, 10] # printing listprint("The original list : " + str(test_list)) # Check if all elements in list follow a condition# Using itertools.takewhile()count = 0for ele in itertools.takewhile(lambda x: x > 3, test_list):    count = count + 1res = count == len(test_list) # Printing resultprint("Are all elements greater than 3 ? : " + str(res))

Output

The original list : [4, 5, 8, 9, 10]
Are all elements greater than 3 ? : True

Method #3:Using lambda functions

## Python3

 # Python3 code to demonstrate working of# Check if all elements in list follow a condition# Using lambda functions # initializing listtest_list = [4, 5, 8, 9, 10] # printing listprint("The original list : " + str(test_list)) # Check if all elements in list follow a condition# Using filterres = list(filter(lambda x: x > 3, test_list))if(len(res) == len(test_list)):    res = Trueelse:    res = False# Printing resultprint("Are all elements greater than 3 ? : " + str(res))

Output

The original list : [4, 5, 8, 9, 10]
Are all elements greater than 3 ? : True

Time Complexity: O(N)
Auxiliary Space: O(N)

Method #4: Using map() and any()

Explanation: Using map() function, we can apply the given condition to each element in the list and return a list of True or False. The any() function will check if any of the element in the returned list is False, which means that not all elements in the original list follow the condition.

## Python3

 # initializing listtest_list = [4, 5, 8, 9, 10] # printing listprint("The original list : " + str(test_list)) # Check if all elements in list follow a condition# Using map() and any()result = not any(map(lambda x: x <= 3, test_list)) # Printing resultprint("Are all elements greater than 3 ? : " + str(result))#This code is contributed by Edula Vinay Kumar Reddy

Output

The original list : [4, 5, 8, 9, 10]
Are all elements greater than 3 ? : True

Time Complexity: O(N)
Auxiliary Space: O(N)

Method 5: Using a for loop to iterate over the list and check if each element is greater than 3.

• Initialize a boolean variable result to True.
• Iterate over each element x in the list test_list.
• Check if x is less than or equal to 3, if yes, set result to False and break the loop.
• Print the result.

## Python3

 # initializing listtest_list = [4, 5, 8, 9, 10] # printing listprint("The original list : " + str(test_list)) # Check if all elements in list follow a condition# Using for loopresult = Truefor x in test_list:    if x <= 3:        result = False        break # Printing resultprint("Are all elements greater than 3 ? : " + str(result))

Output

The original list : [4, 5, 8, 9, 10]
Are all elements greater than 3 ? : True

Time complexity: O(n) as it iterates over each element of the list once. :
Auxiliary space: O(1) as it only uses a boolean variable and a loop variable

My Personal Notes arrow_drop_up