Python - Check if Given String can be Formed by Concatenating String Elements of List
We are given a list of strings we need to check if given string can be formed by concatenating them. For example, a = ["cat", "dog", "bird"] is given list and s = "catdog" is targe string we need to return True or False according to it, so that output should be False in this case.
Using a for loop
A for loop iterates over each element in the list concatenating them to form a string result is checked against given string to determine if they are equal.
a = ["cat", "dog", "bird"]
s = "catdog"
con = ""
# Concatenate list elements
for element in a:
con += element
# Check if the concatenated result equals the target
res = con == s
print(res)
Output
False
Explanation:
- Code iterates over each element in
aappending it to the variableconto form a single string. - It checks if the concatenated string matches the target string
treturningTrueorFalse.
Using join
.join method concatenates all elements in list into a single string resulting string is then compared to the target string to check for equality.
a = ["cat", "dog"]
s = "catdog"
# Join list elements and compare to the target
res = "".join(a) == s
print(res)
Output
True
Explanation:
joinmethod concatenates all elements in listainto a single string without any separator.- Concatenated string is compared to target string
treturningTrueif they are equal andFalseotherwise.
Using startswith
Using startswith we check if target string begins with each list element consuming matching part by adjusting the index accordingly. If all elements are matched sequentially and index reaches the target's end string can be formed.
a = ["cat", "dog"]
s = "catdog"
# Initialize index and a flag
idx = 0
res = True
# Iterate through the list and check each word
for word in a:
# Check if the target substring matches the current word
if s[idx:idx + len(word)] == word:
idx += len(word)
else:
result = False
break
# Check if the entire target was consumed
res = res and idx == len(s)
print(res)
Output
True
Explanation:
- Code iterates through each word in list a and checks if the corresponding substring of t matches word.
- If all words match in sequence and fully consume the target t res is True otherwise it is set to False.