 GeeksforGeeks App
Open App Browser
Continue

# Python | Repeating tuples N times

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

 `# Python3 code to demonstrate working of``# Repeating tuples N times``# using * operator` `# initialize tuple``test_tup ``=` `(``1``, ``3``)` `# printing original tuple``print``(``"The original tuple : "` `+` `str``(test_tup))` `# initialize N``N ``=` `4` `# Repeating tuples N times``# using * operator``res ``=` `((test_tup, ) ``*` `N)` `# printing result``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

 `# Python3 code to demonstrate working of``# Repeating tuples N times``# using repeat()``from` `itertools ``import` `repeat` `# initialize tuple``test_tup ``=` `(``1``, ``3``)` `# printing original tuple``print``(``"The original tuple : "` `+` `str``(test_tup))` `# initialize N``N ``=` `4` `# Repeating tuples N times``# using repeat()``res ``=` `tuple``(repeat(test_tup, N))` `# printing result``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

 `# Python3 code to demonstrate working of``# Repeating tuples N times` `# initialize tuple``test_tup ``=` `(``1``, ``3``)` `# printing original tuple``print``(``"The original tuple : "` `+` `str``(test_tup))` `# initialize N``N ``=` `4` `# Repeating tuples N times``res``=``[]``for` `i ``in` `range``(``0``,N):``    ``res.append(test_tup)``res``=``tuple``(res)``# printing result``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

 `# Python3 code to demonstrate working of``# Repeating tuples N times`` ` `# initialize tuple``test_tup ``=` `(``1``, ``3``)`` ` `# printing original tuple``print``(``"The original tuple : "` `+` `str``(test_tup))`` ` `# initialize N``N ``=` `4`` ` `# Repeating tuples N times``res ``=` `[test_tup ``for` `i ``in` `range``(N)]``res ``=` `tuple``(res)``# printing result``print``(``"The duplicated tuple elements are : "` `+` `str``(res))``#This code is contributed by Edula Vinay Kumar Reddy`

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

 `# Python3 code to demonstrate working of``# Repeating tuples N times``# initialize tuple``test_tup ``=` `(``1``, ``3``)`` ` `# printing original tuple``print``(``"The original tuple : "` `+` `str``(test_tup))`` ` `# initialize N``N ``=` `4`` ` `# Repeating tuples N times``res ``=` `tuple``(``map``(``lambda` `x : test_tup, ``range``(N)))`` ` `# printing result``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

1. Append given tuple into a list
2. Repeat the list by using operator.mul()
3. Convert the list of tuples to tuple of tuples
4. Display output tuple

## Python3

 `# Python3 code to demonstrate working of``# Repeating tuples N times` `# initialize tuple``test_tup ``=` `(``1``, ``3``)` `# printing original tuple``print``(``"The original tuple : "` `+` `str``(test_tup))` `# initialize N``N ``=` `4` `# Repeating tuples N times``import` `operator``x``=``[test_tup]``res``=``tuple``(operator.mul(x,N))``# printing result``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

 `# initialize tuple``test_tup ``=` `(``1``, ``3``)` `# initialize N``N ``=` `4` `# repeat tuples N times``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 result``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.

My Personal Notes arrow_drop_up