Open In App

Python – Check if Given String can be Formed by Concatenating String Elements of List

Last Updated : 14 Feb, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

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)

Output
False

Explanation:

  • Code iterates over each element in a appending it to the variable con to form a single string.
  • It checks if the concatenated string matches the target string t returning True or False.

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)

Output
True

Explanation:

  • join method concatenates all elements in list a into a single string without any separator.
  • Concatenated string is compared to target string t returning True if they are equal and False otherwise.

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)

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.


Practice Tags :

Similar Reads