Open In App

Python | Check if substring is part of List of Strings

Many problems of substrings have been dealt with many times. There can also be such problem in which we require to check if argument string is a part of any of the strings coming in the input list of strings. Let’s discuss various ways in which this can be performed. 

Method #1 : Using join() The basic approach that can be employed to perform this particular task is computing the join of all the list strings and then searching the string in the joined string. 






# Python3 code to demonstrate working of
# Check if substring is part of List of Strings
# Using join()
 
# initializing list
test_list = ['GeeksforGeeks', 'is', 'Best']
 
# test string
check_str = "for"
 
# printing original string
print("The original string is : " + str(test_list))
 
# Using join()
# Check if substring is part of List of Strings
temp = '\t'.join(test_list)
res = check_str in temp
 
# printing result
print("Is check string part of any input list string : " + str(res))

Output
The original string is : ['GeeksforGeeks', 'is', 'Best']
Is check string part of any input list string : True

Time Complexity: O(n), where n is the total length of all the strings in the input list. 



Auxiliary Space: O(n)

Method #2 : Using any() The any function can be used to compute the presence of the test substring in all the strings of the list and return True if it’s found in any. This is better than the above function as it doesn’t explicitly take space to create new concatenated string. 




# Python3 code to demonstrate working of
# Check if substring is part of List of Strings
# Using any()
 
# initializing list
test_list = ['GeeksforGeeks', 'is', 'Best']
 
# test string
check_str = "for"
 
# printing original string
print("The original string is : " + str(test_list))
 
# Using any()
# Check if substring is part of List of Strings
res = any(check_str in sub for sub in test_list)
 
# printing result
print("Is check string part of any input list string : " + str(res))

Output
The original string is : ['GeeksforGeeks', 'is', 'Best']
Is check string part of any input list string : True

Method #3: Using find() method




# Python3 code to demonstrate working of
# Check if substring is part of List of Strings
 
# initializing list
test_list = ['GeeksforGeeks', 'is', 'Best']
 
# test string
check_str = "for"
 
# printing original string
print("The original string is : " + str(test_list))
 
res=False
# Check if substring is part of List of Strings
for i in test_list:
    if(i.find(check_str)!=-1):
        res=True
# printing result
print("Is check string part of any input list string : " + str(res))

Output
The original string is : ['GeeksforGeeks', 'is', 'Best']
Is check string part of any input list string : True

Method #4: Using filter() and lambda function




# Python3 code to demonstrate working of
# Check if substring is part of List of Strings
# Using filter() and lambda function
 
# initializing list
test_list = ['GeeksforGeeks', 'is', 'Best']
 
# test string
check_str = "for"
 
# printing original string
print("The original string is : " + str(test_list))
 
# Using filter() and lambda function
# Check if substring is part of List of Strings
res = any(filter(lambda x: check_str in x, test_list))
 
# printing result
print("Is check string part of any input list string : " + str(res))
#This code is contributed by Edula Vinay Kumar Reddy

Output
The original string is : ['GeeksforGeeks', 'is', 'Best']
Is check string part of any input list string : True

Time complexity: O(n) where n is the length of the input list of strings. This is because we are iterating through the list once to check if the substring is present in each element of the list.
Auxiliary space:  O(1) as we are only using a few variables to store the substring, the input list, and the result.

Method 5: Using a simple loop to iterate over the list and check if the substring is present in each string.




# initializing list
test_list = ['GeeksforGeeks', 'is', 'Best']
 
# test string
check_str = "for"
 
# printing original string
print("The original string is : " + str(test_list))
 
# Using loop
# Check if substring is part of List of Strings
res = False
for string in test_list:
    if check_str in string:
        res = True
        break
 
# printing result
print("Is check string part of any input list string : " + str(res))

Output
The original string is : ['GeeksforGeeks', 'is', 'Best']
Is check string part of any input list string : True

Time complexity: O(n*m), where n is the number of strings in the list and m is the average length of each string.
Auxiliary space: O(1) since we are only using a few variables to store the results.


Article Tags :