Open In App

Python | Convert Tuple to integer

Sometimes, while working with records, we can have a problem in which we need to convert the data records to integer by joining them. Let’s discuss certain ways in which this task can be performed. 

Method #1 : Using reduce() + lambda 



The combination of above functions can be used to perform this task. In this, we use lambda function to perform logic of conversion and reduce performs task of iteration and combining result. 




# Python3 code to demonstrate working of
# Convert Tuple to integer
# Using reduce() + lambda
import functools
 
# initialize tuple
test_tuple = (1, 4, 5)
 
# printing original tuple
print("The original tuple : " + str(test_tuple))
 
# Convert Tuple to integer
# Using reduce() + lambda
res = functools.reduce(lambda sub, ele: sub * 10 + ele, test_tuple)
 
# printing result
print("Tuple to integer conversion : " + str(res))

Output : 

The original tuple : (1, 4, 5)
Tuple to integer conversion : 145

Time complexity: O(n)
Auxiliary space: O(1)

Method #2 : Using int() + join() + map() 

The combination of these functions can also be used to perform this task. In this, we convert each element to string using join() and iterate using map(). At last we perform integer conversion. 




# Python3 code to demonstrate working of
# Convert Tuple to integer
# Using int() + join() + map()
 
# initialize tuple
test_tuple = (1, 4, 5)
 
# printing original tuple
print("The original tuple : " + str(test_tuple))
 
# Convert Tuple to integer
# Using int() + join() + map()
res = int(''.join(map(str, test_tuple)))
 
# printing result
print("Tuple to integer conversion : " + str(res))

Output : 
The original tuple : (1, 4, 5)
Tuple to integer conversion : 145

Time complexity: O(n), where n is the length of the input tuple.
O(k), where k is the length of the resulting string.

Method #3: Using str() and int() methods




# Python3 code to demonstrate working of
# Convert Tuple to integer
 
# initialize tuple
test_tuple = (1, 4, 5)
 
# printing original tuple
print("The original tuple : " + str(test_tuple))
 
# Convert Tuple to integer
res=""
for i in test_tuple:
    res+=str(i)
res=int(res)
 
# printing result
print("Tuple to integer conversion : " + str(res))

Output
The original tuple : (1, 4, 5)
Tuple to integer conversion : 145

Method #4: Using in operator + end() function




test_tuple=(1,4,5)
for i in test_tuple:
  print(i,end="")

Output
145

Method #5 : Using regular expressions (re module)
This method uses the re module to match the elements of the tuple as individual digits and then join them using the re.sub() method. The resulting string is then converted to an integer using the int() method.




import re
 
test_tuple = (1, 4, 5)
 
# printing original tuple
print("The original tuple : " + str(test_tuple))
 
# Convert Tuple to integer using regular expressions
res = int(re.sub(r'\D', '', ''.join(map(str, test_tuple))))
 
# printing result
print("Tuple to integer conversion : " + str(res))
 
#this code is contributed by edula vinay kumar reddy

Output
The original tuple : (1, 4, 5)
Tuple to integer conversion : 145

Time complexity: O(n)
Auxiliary Space: O(n)

Method#6: Using Recursive method.

The algorithm of the tuple_to_int() function is as follows:

  1. If the length of the tuple is 1, return the only element in the tuple.
  2. Otherwise, take the first element of the tuple and multiply it by 10 to the power of the length of the tuple minus 1.
  3. Add the result to the recursive call to tuple_to_int() with the remaining elements of the tuple.
  4. Repeat until the base case is reached.




def tuple_to_int(tup):
    if len(tup) == 1:
        return tup[0]
    else:
        return tup[0] * (10 ** (len(tup) - 1)) + tuple_to_int(tup[1:])
 
test_tuple = (1, 4, 5)
# printing original tuple
print("The original tuple : " + str(test_tuple))
 
res = tuple_to_int(test_tuple)
# printing result
print("Tuple to integer conversion : " + str(res))
  
#this code is contributed by tvsk.

Output
The original tuple : (1, 4, 5)
Tuple to integer conversion : 145

Time complexity: O(n), where n is the length of the tuple, because it needs to process each element of the tuple exactly once. 
Auxiliary space: O(n), because the function call stack can have at most n function, calls in it at any given time.

Method #7: Using math.pow() + reversed()




import math
 
def tuple_to_int(tup):
    return sum(math.pow(10, i) * num for i, num in enumerate(reversed(tup)))
 
test_tuple = (1, 4, 5)
# printing original tuple
print("The original tuple : " + str(test_tuple))
 
res = tuple_to_int(test_tuple)
# printing result
print("Tuple to integer conversion : " + str(res))

Output
The original tuple : (1, 4, 5)
Tuple to integer conversion : 145.0

Time complexity: O(n)
Auxiliary space: O(1)


Article Tags :