Python | Check if element is present in tuple of tuples
Last Updated :
08 May, 2023
Sometimes the data that we use is in the form of tuples and often we need to look into the nested tuples as well. The common problem that this can solve is looking for missing data or na value in data preprocessing. Let's discuss certain ways in which this can be performed.
Method #1: Using any() any function is used to perform this task. It just tests one by one if the element is present as the tuple element. If the element is present, true is returned else false is returned.
Python3
# Python3 code to demonstrate
# test for values in tuple of tuple
# using any()
# initializing tuple of tuple
test_tuple = (("geeksforgeeks", "gfg"), ("CS_Portal", "best"))
# printing tuple
print("The original tuple is " + str(test_tuple))
# using any()
# to test for value in tuple of tuple
if (any('geeksforgeeks' in i for i in test_tuple)):
print("geeksforgeeks is present")
else:
print("geeksforgeeks is not present")
OutputThe original tuple is (('geeksforgeeks', 'gfg'), ('CS_Portal', 'best'))
geeksforgeeks is present
Time complexity: The time complexity of this program is O(nm) where n is the length of the outer tuple and m is the length of the inner tuple.
Auxiliary space: The program uses a constant amount of auxiliary space to store the test tuple and the string to search for.
Method #2: Using itertools.chain() The chain function tests for all the intermediate tuples for the desired values and then returns true if the required value is present in any of the tuples searched.
Python3
# Python3 code to demonstrate
# test for values in tuple of tuple
# using itertools.chain()
import itertools
# initializing tuple of tuple
test_tuple = (("geeksforgeeks", "gfg"), ("CS_Portal", "best"))
# printing tuple
print("The original tuple is " + str(test_tuple))
# using itertools.chain()
# to test for value in tuple of tuple
if ('geeksforgeeks' in itertools.chain(*test_tuple)):
print("geeksforgeeks is present")
else:
print("geeksforgeeks is not present")
OutputThe original tuple is (('geeksforgeeks', 'gfg'), ('CS_Portal', 'best'))
geeksforgeeks is present
The time complexity of the code is O(n), where n is the total number of elements in all the tuples.
The auxiliary space complexity of the code is O(1), because we are not using any extra space to store data.
Method #3: Using list comprehension
Python3
test_tuple = (("geeksforgeeks", "gfg"), ("CS_Portal", "best"))
ele="geeksforgeeks"
x=[ele for i in test_tuple if ele in i]
print(["yes" if x else "no"])
Time Complexity: O(n), where n is the length of the list
Auxiliary Space: O(n) additional space of size n is created where n is the number of elements in the list
Method #4: Using enumerate function
Python3
test_tuple = (("geeksforgeeks", "gfg"), ("CS_Portal", "best"))
ele="geeksforgeeks"
x=[ele for a,i in enumerate(test_tuple) if ele in i]
print(["yes" if x else "no"])
The time complexity is O(n), where n is the length of the input tuple test_tuple.
The auxiliary space complexity of the code is O(1).
Method #5: Using lambda function
Python3
test_tuple = (("geeksforgeeks", "gfg"), ("CS_Portal", "best"))
ele="geeksforgeeks"
x=list(filter(lambda i: (i in test_tuple),test_tuple))
print(["yes" if x else "no"])
Method: Using "in" operator
Python3
test_tuple = (("geeksforgeeks", "gfg"), ("CS_Portal", "best"))
ele="geeksforgeeks" ;a=[]
for i in test_tuple:
if ele in i:
a.append(ele)
print(["yes" if a else "no"])
Method: Using countOf function
Python3
import operator as op
test_tuple = (("geeksforgeeks", "gfg"), ("CS_Portal", "best"))
ele="geeksforgeeks"
x=[j for i in test_tuple for j in i]
print("yes" if op.countOf(x,ele)>0 else "no")
Method : Using map and lambda:
Approach is to use a combination of the map function and the lambda to check if an element is present in a tuple of tuples. This can be done as follows:
Python3
# Initialize the tuple of tuples
test_tuple = (("geeksforgeeks", "gfg"), ("CS_Portal", "best"))
# Check if the element is present in any of the tuples
if any(map(lambda t: "geeksforgeeks" in t, test_tuple)):
print("geeksforgeeks is present")
else:
print("geeksforgeeks is not present")
#This code is contributed by Edula Vinay Kumar Reddy
Outputgeeksforgeeks is present
The map function applies a function to each element of an iterable and returns a new iterable with the results. In this case, the lambda function checks if the element is present in the tuple using the in operator, and the any function returns True if any of the elements in the resulting iterable is True.
This approach has a time complexity of O(n), where n is the number of tuples in the input tuple of tuples. It has a space complexity of O(1), since it only uses a constant amount of additional space.
Similar Reads
Python - Check if element is present in tuple We are given a tuple and our task is to find whether given element is present in tuple or not. For example x = (1, 2, 3, 4, 5) and we need to find if 3 is present in tuple so that in this case resultant output should be True.Using in Operatorin operator checks if an element is present in a tuple by
2 min read
Python - Check if any list element is present in Tuple Given a tuple, check if any list element is present in it. Input : test_tup = (4, 5, 10, 9, 3), check_list = [6, 7, 10, 11] Output : True Explanation : 10 occurs in both tuple and list. Input : test_tup = (4, 5, 12, 9, 3), check_list = [6, 7, 10, 11] Output : False Explanation : No common elements.
6 min read
Test if all elements are present in list-Python The task of testing if all elements are present in a list in Python involves checking whether every item in a target list exists within a reference list. For example, given two lists a = [6, 4, 8, 9, 10] and b = [4, 6, 9], the task is to confirm that all elements in list b are also found in list a.U
3 min read
Python | Filter tuples according to list element presence Sometimes, while working with records, we can have a problem in which we have to filter all the tuples from a list of tuples, which contains atleast one element from a list. This can have applications in many domains working with data. Let's discuss certain ways in which this task can be performed.
8 min read
How to Check if Tuple is empty in Python ? A Tuple is an immutable sequence, often used for grouping data. You need to check if a tuple is empty before performing operations. Checking if a tuple is empty is straightforward and can be done in multiple ways. Using the built-in len() will return the number of elements in a tuple and if the tupl
2 min read