Python Check if Given String can be Formed by Concatenating String Elements of List (original) (raw)

Last Updated : 14 Feb, 2025

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.

Python `

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)

`

**Explanation:

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.

Python `

a = ["cat", "dog"] s = "catdog"

Join list elements and compare to the target

res = "".join(a) == s

print(res)

`

**Explanation:

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.

Python `

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)

`

**Explanation:

Similar Reads