Python | Flatten Tuples List to String
Last Updated :
21 Apr, 2023
Sometimes, while working with data, we can have a problem in which we need to perform interconversion of data. In this, we can have a problem of converting tuples list to a single String. Let’s discuss certain ways in which this task can be performed.
Method #1: Using list comprehension + join() The combination of above functionalities can be used to perform this task. In this, we join all the individual string elements using join() and extraction of each element is done using list comprehension.
Python3
test_list = [( '1' , '4' , '6' ), ( '5' , '8' ), ( '2' , '9' ), ( '1' , '10' )]
print ( "The original list : " + str (test_list))
res = ' ' .join([idx for tup in test_list for idx in tup])
print ( "Tuple list converted to String is : " + res)
|
Output :
The original list : [('1', '4', '6'), ('5', '8'), ('2', '9'), ('1', '10')]
Tuple list converted to String is : 1 4 6 5 8 2 9 1 10
Time complexity: O(n) where n is the total number of elements in the list of tuples.
Auxiliary space: O(n) as the join function creates a new string with the concatenated elements from the list comprehension.
Method #2 : Using chain() + join() This is yet another method to perform this particular task. In this, we perform the task of extracting each of element of tuple list using chain() rather than list comprehension.
Python3
from itertools import chain
test_list = [( '1' , '4' , '6' ), ( '5' , '8' ), ( '2' , '9' ), ( '1' , '10' )]
print ( "The original list : " + str (test_list))
res = ' ' .join(chain( * test_list))
print ( "Tuple list converted to String is : " + res)
|
Output :
The original list : [('1', '4', '6'), ('5', '8'), ('2', '9'), ('1', '10')]
Tuple list converted to String is : 1 4 6 5 8 2 9 1 10
Time complexity: O(n), where n is the total number of elements in the input list of tuples.
Auxiliary Space: O(m), where m is the maximum length of any tuple in the input list.
Method #3 : Using extend(),list(),join() methods
Python3
test_list = [( '1' , '4' , '6' ), ( '5' , '8' ), ( '2' , '9' ), ( '1' , '10' )]
print ( "The original list : " + str (test_list))
res = []
for i in test_list:
res.extend( list (i))
res = " " .join(res)
print ( "Tuple list converted to String is : " + res)
|
Output
The original list : [('1', '4', '6'), ('5', '8'), ('2', '9'), ('1', '10')]
Tuple list converted to String is : 1 4 6 5 8 2 9 1 10
Time complexity: O(n), where n is the total number of elements in the input list of tuples.
Auxiliary space: O(n), as we create a new list res to store the flattened list of elements, and then join them into a single string.
Method 4: using the map() function and join() method
In this approach, we are using the sum() function with an empty tuple as the start value to flatten the list of tuples into a single tuple. Then we are using the map() function to convert each element of the tuple into a string, and finally using the join() method to join the elements of the tuple into a single string with space as the separator.
Python3
test_list = [( '1' , '4' , '6' ), ( '5' , '8' ), ( '2' , '9' ), ( '1' , '10' )]
print ( "The original list : " + str (test_list))
res = " " .join( map ( str , sum (test_list, ())))
print ( "Tuple list converted to String is : " + res)
|
Output
The original list : [('1', '4', '6'), ('5', '8'), ('2', '9'), ('1', '10')]
Tuple list converted to String is : 1 4 6 5 8 2 9 1 10
Time complexity: O(n), where n is the total number of elements in the list of tuples.
Auxiliary space: O(n), where n is the total number of elements in the list of tuples.
Method #5: Using itertools and join()
The program initializes a list of tuples called test_list. It then uses the itertools.chain() method to flatten the list of tuples and the join() method to join the elements using space as the separator. Finally, it prints the original list and the flattened string.
- Import itertools module which provides tools for working with iterators.
- Use itertools.chain() method to flatten the list of tuples. It takes multiple iterables as arguments and returns a single iterator that produces the contents of those iterables as if they came from a single sequence.
- Use the * operator to unpack the list of tuples as arguments to chain() method.
- Use the join() method to join the flattened list of tuples into a single string with space as separator.
- Print the result.
Python3
import itertools
test_list = [( '1' , '4' , '6' ), ( '5' , '8' ), ( '2' , '9' ), ( '1' , '10' )]
print ( "The original list : " + str (test_list))
res = ' ' .join(itertools.chain( * test_list))
print ( "Tuple list converted to String is : " + res)
|
Output
The original list : [('1', '4', '6'), ('5', '8'), ('2', '9'), ('1', '10')]
Tuple list converted to String is : 1 4 6 5 8 2 9 1 10
Time complexity: O(n), where n is the total number of elements in the list of tuples.
Auxiliary Space: O(n), where n is the total number of elements in the list of tuples.
Method 6: Using nested loops
Step-by-step approach:
- Initialize an empty string res that will contain the flattened list of tuples as a string.
- Use a nested loop to iterate through each tuple in test_list and each element in each tuple:
- The outer loop iterates through each tuple in test_list using for tup in test_list:.
- The inner loop iterates through each element in each tuple using for element in tup:.
- Concatenate each element and a space character to res using res += element + ” “.
- Remove the last space character from res using res = res[:-1].
- Print the final flattened list of tuples as a string using print(“Tuple list converted to String is : ” + res).
Python3
test_list = [( '1' , '4' , '6' ), ( '5' , '8' ), ( '2' , '9' ), ( '1' , '10' )]
print ( "The original list : " + str (test_list))
res = ""
for tup in test_list:
for element in tup:
res + = element + " "
res = res[: - 1 ]
print ( "Tuple list converted to String is : " + res)
|
Output
The original list : [('1', '4', '6'), ('5', '8'), ('2', '9'), ('1', '10')]
Tuple list converted to String is : 1 4 6 5 8 2 9 1 10
The time complexity of this method is O(nm), where n is the number of tuples in the list and m is the maximum number of elements in any tuple.
The auxiliary space complexity is O(nm), as we need to store each element of each tuple in the resulting string.
Similar Reads
Python | List of tuples to String
Many times we can have a problem in which we need to perform interconversion between strings and in those cases, we can have a problem in which we need to convert a tuple list to raw, comma separated string. Let's discuss certain ways in which this task can be performed. Method #1: Using str() + str
8 min read
Python | Convert String to tuple list
Sometimes, while working with Python strings, we can have a problem in which we receive a tuple, list in the comma-separated string format, and have to convert to the tuple list. Let's discuss certain ways in which this task can be performed. Method #1 : Using loop + split() + replace() This is a br
5 min read
Python | Convert String to list of tuples
Sometimes, while working with data, we can have a problem in which we have a string list of data and we need to convert the same to list of records. This kind of problem can come when we deal with a lot of string data. Let's discuss certain ways in which this task can be performed. Method #1: Using
8 min read
Python - Flatten tuple of List to tuple
The task of flattening a tuple of lists to a tuple in Python involves extracting and combining elements from multiple lists within a tuple into a single flattened tuple. For example, given tup = ([5, 6], [6, 7, 8, 9], [3]), the goal is to flatten it into (5, 6, 6, 7, 8, 9, 3). Using itertools.chain(
3 min read
Convert String to Tuple - Python
When we want to break down a string into its individual characters and store each character as an element in a tuple, we can use the tuple() function directly on the string. Strings in Python are iterable, which means that when we pass a string to the tuple() function, it iterates over each characte
2 min read
Python | Convert string tuples to list tuples
Sometimes, while working with Python we can have a problem in which we have a list of records in form of tuples in stringified form and we desire to convert them to a list of tuples. This kind of problem can have its occurrence in the data science domain. Let's discuss certain ways in which this tas
4 min read
Convert tuple to string in Python
The goal is to convert the elements of a tuple into a single string, with each element joined by a specific separator, such as a space or no separator at all. For example, in the tuple ('Learn', 'Python', 'Programming'), we aim to convert it into the string "Learn Python Programming". Let's explore
3 min read
Convert List Of Tuples To Json String in Python
We have a list of tuples and our task is to convert the list of tuples into a JSON string in Python. In this article, we will see how we can convert a list of tuples to a JSON string in Python. Convert List Of Tuples To Json String in PythonBelow, are the methods of Convert List Of Tuples To Json St
3 min read
Python - Flatten Nested Tuples
Sometimes, while working with Python Tuples, we can have a problem in which we need to perform flattening of tuples, which can be nested and undesired. This can have application across many domains such as Data Science and web development. Let's discuss certain way in which this task can be performe
7 min read
Convert List of Tuples to List of Strings - Python
The task is to convert a list of tuples where each tuple contains individual characters, into a list of strings by concatenating the characters in each tuple. This involves taking each tuple, joining its elements into a single string, and creating a new list containing these strings. For example, gi
3 min read