Open In App

Python | Flatten Tuples List to String

Last Updated : 21 Apr, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

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




# Python3 code to demonstrate working of
# Flatten Tuples List to String
# using join() + list comprehension
 
# initialize list of tuple
test_list = [('1', '4', '6'), ('5', '8'), ('2', '9'), ('1', '10')]
 
# printing original tuples list
print("The original list : " + str(test_list))
 
# Flatten Tuples List to String
# using join() + list comprehension
res = ' '.join([idx for tup in test_list for idx in tup])
 
# printing result
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




# Python3 code to demonstrate working of
# Flatten Tuples List to String
# using chain() + join()
from itertools import chain
 
# initialize list of tuple
test_list = [('1', '4', '6'), ('5', '8'), ('2', '9'), ('1', '10')]
 
# printing original tuples list
print("The original list : " + str(test_list))
 
# Flatten Tuples List to String
# using chain() + join()
res = ' '.join(chain(*test_list))
 
# printing result
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




# Python3 code to demonstrate working of
# Flatten Tuples List to String
 
# initialize list of tuple
test_list = [('1', '4', '6'), ('5', '8'), ('2', '9'), ('1', '10')]
 
# printing original tuples list
print("The original list : " + str(test_list))
 
# Flatten Tuples List to String
res = []
for i in test_list:
    res.extend(list(i))
res = " ".join(res)
# printing result
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




# Python3 code to demonstrate working of
# Flatten Tuples List to String
 
# initialize list of tuple
test_list = [('1', '4', '6'), ('5', '8'), ('2', '9'), ('1', '10')]
 
# printing original tuples list
print("The original list : " + str(test_list))
 
# Flatten Tuples List to String
res = " ".join(map(str, sum(test_list, ())))
# printing result
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.

  1. Import itertools module which provides tools for working with iterators.
  2. 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.
  3. Use the * operator to unpack the list of tuples as arguments to chain() method.
  4. Use the join() method to join the flattened list of tuples into a single string with space as separator.
  5. Print the result.

Python3




import itertools
 
# initialize list of tuple
test_list = [('1', '4', '6'), ('5', '8'), ('2', '9'), ('1', '10')]
 
# printing original tuples list
print("The original list : " + str(test_list))
 
# Flatten Tuples List to String
res = ' '.join(itertools.chain(*test_list))
 
# printing result
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:

  1. Initialize an empty string res that will contain the flattened list of tuples as a string.
  2. Use a nested loop to iterate through each tuple in test_list and each element in each tuple:
  3. The outer loop iterates through each tuple in test_list using for tup in test_list:.
  4. The inner loop iterates through each element in each tuple using for element in tup:.
  5. Concatenate each element and a space character to res using res += element + ” “.
  6. Remove the last space character from res using res = res[:-1].
  7. Print the final flattened list of tuples as a string using print(“Tuple list converted to String is : ” + res).

Python3




# initialize list of tuple
test_list = [('1', '4', '6'), ('5', '8'), ('2', '9'), ('1', '10')]
 
# printing original tuples list
print("The original list : " + str(test_list))
 
# Flatten Tuples List to String
res = ""
for tup in test_list:
    for element in tup:
        res += element + " "
 
# remove last space
res = res[:-1]
 
# printing result
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 | 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 task can be performed. Method 1 (Using eval() + list
4 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 performed. Input : test_tuple = ((4, 7), ((4, 5), ((6, 7),
7 min read
Python | Remove duplicate tuples from list of tuples
Given a list of tuples, Write a Python program to remove all the duplicated tuples from the given list. Examples: Input : [(1, 2), (5, 7), (3, 6), (1, 2)] Output : [(1, 2), (5, 7), (3, 6)] Input : [('a', 'z'), ('a', 'x'), ('z', 'x'), ('a', 'x'), ('z', 'x')] Output : [('a', 'z'), ('a', 'x'), ('z', 'x')] Method #1 : List comprehension This is a naive
5 min read
Python | Find the tuples containing the given element from a list of tuples
Given a list of tuples, the task is to find all those tuples containing the given element, say n. Examples: Input: n = 11, list = [(11, 22), (33, 55), (55, 77), (11, 44)] Output: [(11, 22), (11, 44)] Input: n = 3, list = [(14, 3),(23, 41),(33, 62),(1, 3),(3, 3)] Output: [(14, 3), (1, 3), (3, 3)] There are multiple ways we can find the tuples contai
6 min read
Python | Remove tuples from list of tuples if greater than n
Given a list of a tuple, the task is to remove all the tuples from list, if it's greater than n (say 100). Let's discuss a few methods for the same. Method #1: Using lambda STEPS: Initialize a list of tuples: ini_tuple = [('b', 100), ('c', 200), ('c', 45), ('d', 876), ('e', 75)]Print the initial list: print("intial_list", str(ini_tuple))Define the
6 min read
Python | Remove tuples having duplicate first value from given list of tuples
Given a list of tuples, the task is to remove all tuples having duplicate first values from the given list of tuples. Examples: Input: [(12.121, 'Tuple1'), (12.121, 'Tuple2'), (12.121, 'Tuple3'), (923232.2323, 'Tuple4')] Output: [(12.121, 'Tuple1'), (923232.2323, 'Tuple4')]Input: [('Tuple1', 121), ('Tuple2', 125), ('Tuple1', 135), ('Tuple4', 478)]
7 min read
Python | Count tuples occurrence in list of tuples
Many a time while developing web and desktop products in Python, we use nested lists and have several queries about how to find the count of unique tuples. Let us see how to get the count of unique tuples in the given list of tuples. Below are some ways to achieve the above task. Method #1: Using Iteration C/C++ Code # Python code to count unique #
5 min read
Python | Combining tuples in list of tuples
Sometimes, we might have to perform certain problems related to tuples in which we need to segregate the tuple elements to combine with each element of complex tuple element( such as list ). This can have application in situations we need to combine values to form a whole. Let's discuss certain ways in which this can be performed. Method #1: Using
7 min read
Python - Filter all uppercase characters Tuples from given list of tuples
Given a Tuple list, filter tuples that contain all uppercase characters. Input : test_list = [("GFG", "IS", "BEST"), ("GFg", "AVERAGE"), ("GfG", ), ("Gfg", "CS")] Output : [('GFG', 'IS', 'BEST')] Explanation : Only 1 tuple has all uppercase Strings. Input : test_list = [("GFG", "iS", "BEST"), ("GFg", "AVERAGE"), ("GfG", ), ("Gfg", "CS")] Output : [
8 min read
Python program to find Tuples with positive elements in List of tuples
Given a list of tuples. The task is to get all the tuples that have all positive elements. Examples: Input : test_list = [(4, 5, 9), (-3, 2, 3), (-3, 5, 6), (4, -6)] Output : [(4, 5, 9)] Explanation : Extracted tuples with all positive elements. Input : test_list = [(-4, 5, 9), (-3, 2, 3), (-3, 5, 6), (4, -6)] Output : [] Explanation : No tuple wit
10 min read
Practice Tags :
three90RightbarBannerImg