![]() |
VOOZH | about |
Given a Tuple. The task is to convert it to List by adding the given string after every element.
Examples:
Input : test_tup = (5, 6, 7), K = "Gfg" Output : [5, 'Gfg', 6, 'Gfg', 7, 'Gfg'] Explanation : Added "Gfg" as succeeding element. Input : test_tup = (5, 6), K = "Gfg" Output : [5, 'Gfg', 6, 'Gfg'] Explanation : Added "Gfg" as succeeding element.
Method #1: Using list comprehension
In this, we construct a tuple of each element of tuple with a succeeding element and then run a nested loop to flatten each constructed tuple using list comprehension.
Output:
The original tuple is : (5, 6, 7, 4, 9)
Converted Tuple with K : [5, 'Gfg', 6, 'Gfg', 7, 'Gfg', 4, 'Gfg', 9, 'Gfg']
Time Complexity: O(n) where n is the number of elements in the tuple “test_tup”.
Auxiliary Space: O(n), where n is the number of elements in the new res list
Method #2 : Using chain.from_iterable() + list() + generator expression
This is similar to above method, difference is that nested loop is avoided by flattening using chain.from_iterable().
Output:
The original tuple is : (5, 6, 7, 4, 9)
Converted Tuple with K : [5, 'Gfg', 6, 'Gfg', 7, 'Gfg', 4, 'Gfg', 9, 'Gfg']
Time Complexity: The time complexity of this program is O(n), where n is the length of the input tuple test_tup.
Auxiliary Space: The auxiliary space used by this program is O(n), where n is the length of the input tuple test_tup.
Method #3 : Using list(),map(),join(),split() methods
Output :
The original tuple is : (5, 6, 7, 4, 9)
Converted Tuple with K : [5, 'Gfg', 6, 'Gfg', 7, 'Gfg', 4, 'Gfg', 9, 'Gfg']
Method #4 : Using map() function
The original tuple is : (5, 6, 7, 4, 9) Converted Tuple with K : [5, 'Gfg', 6, 'Gfg', 7, 'Gfg', 4, 'Gfg', 9, 'Gfg']
Time Complexity: O(n)
Auxiliary Space: O(n)
Method#5: Using Recursive method.
Algorithm:
The original tuple is : (5, 6, 7, 4, 9) Converted Tuple with K : [5, 'Gfg', 6, 'Gfg', 7, 'Gfg', 4, 'Gfg', 9, 'Gfg']
Time complexity: O(n), where n is the length of the input tuple. This is because the function processes each element of the tuple exactly once.
Space complexity: O(n), where n is the length of the input tuple. This is because the function creates a new list to store the output, which can have up to 2n elements (each element of the input tuple is followed by k). Additionally, the function uses the call stack to handle recursive calls, which can have up to n levels of recursion.