Recently, while working with data from databases and APIs that return tuples, we were required to convert a tuple of digits into a single integer. In this tutorial, I will explain how to convert a tuple to an integer in Python using various methods.
Tuples in Python
Before converting a tuple to int, let me explain the tuples in Python. A tuple in Python is an ordered and immutable collection type, meaning that its contents cannot be changed once a tuple is created. Tuples are defined by placing a sequence of elements inside parentheses, separated by commas. For example:
my_tuple = (1, 2, 3)In this example, my_tuple contains three integers. Tuples can hold a variety of data types, including integers, strings, and even other tuples.
Check out Create an Empty Tuple in Python
Convert Tuple to Int in Python
There are various methods available in Python to convert a tuple to an int. Let me show you each method with examples.
Method 1: Using String Join and Int Conversion
One of the simplest methods to convert a tuple of digits into an integer is by first converting the tuple to a string and then using the int() function. Here’s how you can do it:
Example
Let’s say you have a tuple of digits representing a phone number:
phone_tuple = (3, 1, 2, 4, 5, 6, 7, 8, 9, 0)You can convert this tuple into an integer as follows:
phone_tuple = (3, 1, 2, 4, 5, 6, 7, 8, 9, 0)
# Convert tuple to string and then to int
phone_number = int(''.join(map(str, phone_tuple)))
print(phone_number) # Output: 3124567890Explanation
map(str, phone_tuple): This converts each digit in the tuple to a string.''.join(...): This joins all the string digits together into a single string.int(...): Finally, this converts the concatenated string back into an integer.
This method is straightforward and works well when the tuple contains only digits.
I executed the above Python code using VS code, and you can see the exact output in the screenshot below:

Check out How to Sort a List of Tuples by the First Element in Python?
Method 2: Using List Comprehension
Another effective way to convert a tuple to an integer in Python is by using list comprehension. This method is particularly useful when you want to perform additional processing on the elements of the tuple.
Example
Imagine you have a tuple of digits that might include some leading zeros, such as:
zip_code_tuple = (0, 1, 2, 3, 4, 5)You can convert this tuple to an integer as follows:
zip_code_tuple = (0, 1, 2, 3, 4, 5)
# Convert tuple to int using list comprehension
zip_code = int(''.join([str(digit) for digit in zip_code_tuple]))
print(zip_code) # Output: 12345Explanation
- List comprehension
[str(digit) for digit in zip_code_tuple]: This creates a list of string representations of the digits. ''.join(...): Joins the list into a single string.int(...): Converts the string to an integer.
Here is the exact output in the screenshot below:

Method 3: Using the reduce() Function
For those who prefer a functional programming approach, the reduce function from the functools module can also be used to convert a tuple to an integer. Let me show you an example.
Example
Consider a scenario where you have a tuple of digits representing a social security number:
ssn_tuple = (1, 2, 3, 4, 5, 6, 7, 8, 9)You can use reduce to convert this tuple into an integer:
from functools import reduce
# Convert tuple to int using reduce
ssn_number = reduce(lambda x, y: x * 10 + y, ssn_tuple)
print(ssn_number) # Output: 123456789Explanation:
reduce(lambda x, y: x * 10 + y, ssn_tuple): This function takes two arguments at a time and combines them into a single value, effectively shifting the previous digits and adding the new one.
This method is efficient for larger tuples and demonstrates a functional programming style.
Read Convert Tuple to Dict in Python
Method 4: Handling Non-Digit Tuples
In some cases, you may encounter tuples that contain non-digit elements. For example, if you have a tuple that includes both digits and letters:
mixed_tuple = (1, 'a', 2, 3)Attempting to convert this directly to an integer will result in an error. To handle such cases, you can filter out non-digit elements before conversion.
Example
Here’s how you can do that:
# Filter out non-digit elements and convert to int
filtered_tuple = tuple(filter(lambda x: isinstance(x, int), mixed_tuple))
result_number = int(''.join(map(str, filtered_tuple)))
print(result_number) # Output: 123Explanation:
filter(lambda x: isinstance(x, int), mixed_tuple): This filters the tuple to include only integers.- The remaining steps are similar to the previous methods.
Conclusion
In this tutorial, I explained how to convert a tuple to an integer in Python using various methods such as:
- Using String Join and Int Conversion
- Using List Comprehension
- Using the reduce() Function, etc.
Whether you’re working with phone numbers, zip codes, or any other numerical data, these methods will help you convert tuples to int in Python. Do let me know if these examples help you.
You may also like:
- Tuple Concatenation in Python
- How to Convert a Tuple to a String in Python?
- How to Convert a Tuple to JSON in Python?

I am Bijay Kumar, a Microsoft MVP in SharePoint. Apart from SharePoint, I started working on Python, Machine learning, and artificial intelligence for the last 5 years. During this time I got expertise in various Python libraries also like Tkinter, Pandas, NumPy, Turtle, Django, Matplotlib, Tensorflow, Scipy, Scikit-Learn, etc… for various clients in the United States, Canada, the United Kingdom, Australia, New Zealand, etc. Check out my profile.