Wednesday, December 25, 2024
Google search engine
HomeLanguagesPython | Check if all elements in list follow a condition

Python | Check if all elements in list follow a condition

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 list
test_list = [4, 5, 8, 9, 10]
 
# printing list
print("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 result
print("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 list
test_list = [4, 5, 8, 9, 10]
 
# printing list
print("The original list : " + str(test_list))
 
# Check if all elements in list follow a condition
# Using itertools.takewhile()
count = 0
for ele in itertools.takewhile(lambda x: x > 3, test_list):
    count = count + 1
res = count == len(test_list)
 
# Printing result
print("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) where n is the number of elements in the list “test_list”. itertools.takewhile() performs n number of operations.
Auxiliary Space: O(1), constant extra space is required 

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 list
test_list = [4, 5, 8, 9, 10]
 
# printing list
print("The original list : " + str(test_list))
 
# Check if all elements in list follow a condition
# Using filter
res = list(filter(lambda x: x > 3, test_list))
if(len(res) == len(test_list)):
    res = True
else:
    res = False
# Printing result
print("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 list
test_list = [4, 5, 8, 9, 10]
 
# printing list
print("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 result
print("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 list
test_list = [4, 5, 8, 9, 10]
 
# printing list
print("The original list : " + str(test_list))
 
# Check if all elements in list follow a condition
# Using for loop
result = True
for x in test_list:
    if x <= 3:
        result = False
        break
 
# Printing result
print("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

RELATED ARTICLES

Most Popular

Recent Comments