Python | Convert String list to Joined Single element
Last Updated :
08 May, 2023
Sometimes, while working with Python, we can have a problem in which we need to perform the task of joining each element of String list to a single element in List by combining using delim. This kind of application can come in web development domain. Lets discuss certain ways in which this task can be performed.
Method #1 : Using loop
This is one of way to perform this task. In this, we iterate for the String list for strings using loop and perform the join operation according to the delim.
Python3
# Python3 code to demonstrate working of
# Convert String list to Joined Single element
# Using loop
# initializing list
test_list = ['gfg', 'is', 'best']
# printing original list
print("The original list is : " + str(test_list))
# initializing delim
delim = "-"
# Convert String list to Joined Single element
# Using loop
res = ''
for idx in range(len(test_list)-1):
res = res + test_list[idx] + delim
# if list is greater than 0
if len(test_list) > 0:
res = res + test_list[-1]
res = [res]
# printing result
print("String after performing join : " + str(res))
Output : The original list is : ['gfg', 'is', 'best']
String after performing join : ['gfg-is-best']
Time Complexity: O(n), where n is the length of the input list. This is because we’re using the loop which has a time complexity of O(n) in the worst case.
Auxiliary Space: O(n), as we’re using additional space res other than the input list itself with the same size of input list.
Method #2: Using join() + list comprehension
This task can also be performed using a combination of the above functions. In this, we perform the task of combining using join(). The logic is compiled using list comprehension.
Python3
# Python3 code to demonstrate working of
# Convert String list to Joined Single element
# Using join() + list comprehension
# initializing list
test_list = ['gfg', 'is', 'best']
# printing original list
print("The original list is : " + str(test_list))
# initializing delim
delim = "-"
# Convert String list to Joined Single element
# Using join() + list comprehension
res = [delim.join(test_list)]
# printing result
print("String after performing join : " + str(res))
Output : The original list is : ['gfg', 'is', 'best']
String after performing join : ['gfg-is-best']
Time Complexity: O(n)
Auxiliary Space: O(n)
Method #3 : Using reduce() + add()
This method makes use of the reduce function from functools module to apply a binary function cumulatively on the elements of the given list. The binary function used here is add() from operator module.
Python3
# Python3 code to demonstrate working of
# Convert String list to Joined Single element
# Using reduce() + add()
# importing reduce from functools
from functools import reduce
# importing add from operator
from operator import add
# initializing list
test_list = ['gfg', 'is', 'best']
# printing original list
print("The original list is : " + str(test_list))
# initializing delim
delim = "-"
# Convert String list to Joined Single element
# Using reduce() + add()
res = reduce(add, [x + delim for x in test_list[:-1]] + [test_list[-1]])
res = [res]
# printing result
print("String after performing join : " + str(res))
OutputThe original list is : ['gfg', 'is', 'best']
String after performing join : ['gfg-is-best']
Time Complexity: O(n), where n is the number of elements in the list.
Auxiliary Space: O(n), where n is the length of the resulting string after join operation.
Method 4 : Using itertools.chain() and join() functions
Python3
import itertools
# initializing list
test_list = ['gfg', 'is', 'best']
# initializing delimiter
delim = "-"
# using itertools.chain() to concatenate the elements of the list with delimiter
concatenated_list = itertools.chain.from_iterable(
(s, delim) for s in test_list[:-1])
# concatenating the concatenated list with the last element of the original list
joined_string = ''.join(concatenated_list) + test_list[-1]
# creating a list with the joined string as the only element
res = [joined_string]
# printing result
print("String after performing join: " + str(res))
OutputString after performing join: ['gfg-is-best']
Time complexity: O(n), where n is the length of the list.
Auxiliary space: O(n), as we are creating an intermediate concatenated list of length n.
Similar Reads
Python | Convert List of String List to String List Sometimes while working in Python, we can have problems of the interconversion of data. This article talks about the conversion of list of List Strings to joined string list. Let's discuss certain ways in which this task can be performed. Method #1 : Using map() + generator expression + join() + isd
6 min read
Convert List to Delimiter Separated String - Python The task of converting a list to a delimiter-separated string in Python involves iterating through the list and joining its elements using a specified delimiter. For example, given a list a = [7, "Gfg", 8, "is", "best", 9] and a delimiter "*", the goal is to produce a single string where each elemen
3 min read
Convert Character Matrix to single String - Python In this article, we will explore various methods to convert character matrix to single string in Python. The simplest way to do is by using a loop.Using a LoopWe can use a loop (for loop) to iterate through each sublist and concatenate the elements of each sublist and then combine them into a final
2 min read
Python | Convert heterogeneous type String to List Sometimes, while working with data, we can have a problem in which we need to convert data in string into a list, and the string contains elements from different data types like boolean. This problem can occur in domains in which a lot of data types are used. Let's discuss certain ways in which this
6 min read
How To Convert Comma-Delimited String to a List In Python? In Python, converting a comma-separated string to a list can be done by using various methods. In this article, we will check various methods to convert a comma-delimited string to a list in Python.Using str.split()The most straightforward and efficient way to convert a comma-delimited string to a l
1 min read