Python | Repeating tuples N times
Last Updated :
05 May, 2023
Sometimes, while working with data, we might have a problem in which we need to replicate, i.e construct duplicates of tuples. This is an important application in many domains of computer programming. Let’s discuss certain ways in which this task can be performed.
Method #1 : Using * operator The multiplication operator can be used to construct the duplicates of a container. This also can be extended to tuples even though tuples are immutable.
Python3
test_tup = ( 1 , 3 )
print ( "The original tuple : " + str (test_tup))
N = 4
res = ((test_tup, ) * N)
print ( "The duplicated tuple elements are : " + str (res))
|
Output
The original tuple : (1, 3)
The duplicated tuple elements are : ((1, 3), (1, 3), (1, 3), (1, 3))
Method #2 : Using repeat() The internal function of itertools library, repeat() can be used to achieve the solution to the above problem.
Python3
from itertools import repeat
test_tup = ( 1 , 3 )
print ( "The original tuple : " + str (test_tup))
N = 4
res = tuple (repeat(test_tup, N))
print ( "The duplicated tuple elements are : " + str (res))
|
Output
The original tuple : (1, 3)
The duplicated tuple elements are : ((1, 3), (1, 3), (1, 3), (1, 3))
Method #3 : Using tuple() method and for loop
Python3
test_tup = ( 1 , 3 )
print ( "The original tuple : " + str (test_tup))
N = 4
res = []
for i in range ( 0 ,N):
res.append(test_tup)
res = tuple (res)
print ( "The duplicated tuple elements are : " + str (res))
|
Output
The original tuple : (1, 3)
The duplicated tuple elements are : ((1, 3), (1, 3), (1, 3), (1, 3))
4. Using list comprehension:
Python3 code to demonstrate working of Repeating tuples N times using list comprehension
Python3
test_tup = ( 1 , 3 )
print ( "The original tuple : " + str (test_tup))
N = 4
res = [test_tup for i in range (N)]
res = tuple (res)
print ( "The duplicated tuple elements are : " + str (res))
|
Output
The original tuple : (1, 3)
The duplicated tuple elements are : ((1, 3), (1, 3), (1, 3), (1, 3))
Time complexity: O(n)
Auxiliary space: O(n)
Method #5: Using map() and lambda
Python3
test_tup = ( 1 , 3 )
print ( "The original tuple : " + str (test_tup))
N = 4
res = tuple ( map ( lambda x : test_tup, range (N)))
print ( "The duplicated tuple elements are : " + str (res))
|
Output
The original tuple : (1, 3)
The duplicated tuple elements are : ((1, 3), (1, 3), (1, 3), (1, 3))
Time complexity: O(n)
Auxiliary space: O(n)
Method #6 : Using operator.mul()
Approach
- Append given tuple into a list
- Repeat the list by using operator.mul()
- Convert the list of tuples to tuple of tuples
- Display output tuple
Python3
test_tup = ( 1 , 3 )
print ( "The original tuple : " + str (test_tup))
N = 4
import operator
x = [test_tup]
res = tuple (operator.mul(x,N))
print ( "The duplicated tuple elements are : " + str (res))
|
Output
The original tuple : (1, 3)
The duplicated tuple elements are : ((1, 3), (1, 3), (1, 3), (1, 3))
Time Complexity : O(N), where N is the input variable
Auxiliary Space : O(N), where N is the input variable
Method 7 : Use recursion
Here are the steps for this method:
Initialize the tuple test_tup.
Initialize the integer N.
Define a function repeat_tuple() that takes a tuple test_tup and an integer N.
If N is equal to 1, return the tuple test_tup.
Otherwise, concatenate the tuple test_tup with the result of calling repeat_tuple() with test_tup and N-1 as arguments.
Assign the final result to the variable res.
Print the result.
Python3
test_tup = ( 1 , 3 )
N = 4
def repeat_tuple(test_tup, N):
if N = = 1 :
return (test_tup,)
else :
return (test_tup,) + repeat_tuple(test_tup, N - 1 )
res = repeat_tuple(test_tup, N)
print ( "The duplicated tuple elements are : " + str (res))
|
Output
The duplicated tuple elements are : ((1, 3), (1, 3), (1, 3), (1, 3))
The time complexity of this method is O(N), as the function is called recursively N times.
The auxiliary space of this method is also O(N), as the size of the resulting tuple is N times the size of the original tuple.
Similar Reads
Python Tuples
A tuple in Python is an immutable ordered collection of elements. Tuples are similar to lists, but unlike lists, they cannot be changed after their creation (i.e., they are immutable). Tuples can hold elements of different data types. The main characteristics of tuples are being ordered , heterogene
7 min read
Tuple Operations in Python
Python Tuple is a collection of objects separated by commas. A tuple is similar to a Python list in terms of indexing, nested objects, and repetition but the main difference between both is Python tuple is immutable, unlike the Python list which is mutable. [GFGTABS] Python # Note : In case of list,
7 min read
Create a List of Tuples in Python
The task of creating a list of tuples in Python involves combining or transforming multiple data elements into a sequence of tuples within a list. Tuples are immutable, making them useful when storing fixed pairs or groups of values, while lists offer flexibility for dynamic collections. For example
3 min read
Create a tuple from string and list - Python
The task of creating a tuple from a string and a list in Python involves combining elements from both data types into a single tuple. The list elements are added as individual items and the string is treated as a single element within the tuple. For example, given a = ["gfg", "is"] and b = "best", t
3 min read
Access front and rear element of Python tuple
Sometimes, while working with records, we can have a problem in which we need to access the initial and last data of a particular record. This kind of problem can have application in many domains. Let's discuss some ways in which this problem can be solved. Method #1: Using Access Brackets We can pe
6 min read
Python - Element Index in Range Tuples
Sometimes, while working with Python data, we can have a problem in which we need to find the element position in continuous equi ranged tuples in list. This problem has applications in many domains including day-day programming and competitive programming. Let's discuss certain ways in which this t
6 min read
Unpacking a Tuple in Python
Tuple unpacking is a powerful feature in Python that allows you to assign the values of a tuple to multiple variables in a single line. This technique makes your code more readable and efficient. In other words, It is a process where we extract values from a tuple and assign them to variables in a s
2 min read
Unpacking Nested Tuples-Python
The task of unpacking nested tuples in Python involves iterating through a list of tuples, extracting values from both the outer and inner tuples and restructuring them into a flattened format. For example, a = [(4, (5, 'Gfg')), (7, (8, 6))] becomes [(4, 5, 'Gfg'), (7, 8, 6)]. Using list comprehensi
3 min read
Python | Slice String from Tuple ranges
Sometimes, while working with data, we can have a problem in which we need to perform the removal from strings depending on specified substring ranges. Let's discuss certain ways in which this task can be performed. Method #1: Using loop + list slicing: This is the brute force task to perform this t
3 min read
Python - Clearing a tuple
Sometimes, while working with Records data, we can have a problem in which we may require to perform clearing of data records. Tuples, being immutable cannot be modified and hence makes this job tough. Let's discuss certain ways in which this task can be performed. Method #1 : Using list() + clear()
4 min read