Python | Convert tuple to float value (original) (raw)
Last Updated : 23 Apr, 2023
Sometimes, while working with tuple, we can have a problem in which, we need to convert a tuple to floating-point number in which first element represents integer part and next element represents a decimal part. Let’s discuss certain way in which this can be achieved.
Method : Using join() + float() + str() + generator expression The combination of above functionalities can solve this problem. In this, we 1st convert the tuple elements into a string, then join them and convert them to desired integer.
Python3
test_tup
=
(
4
,
56
)
print
(
"The original tuple : "
+
str
(test_tup))
res
=
float
(
'.'
.join(
str
(ele)
for
ele
in
test_tup))
print
(
"The float after conversion from tuple is : "
+
str
(res))
Output
The original tuple : (4, 56) The float after conversion from tuple is : 4.56
Method #2 : Using format() + join()
This method is similar to the above method but instead of using generator expression, we use the join() function with format() method to convert the tuple elements into a string.
Python3
test_tup
=
(
4
,
56
)
print
(
"The original tuple : "
+
str
(test_tup))
res
=
float
(
"{}.{}"
.
format
(
*
test_tup))
print
(
"The float after conversion from tuple is : "
+
str
(res))
Output
The original tuple : (4, 56) The float after conversion from tuple is : 4.56
Time complexity : O(1)
Auxiliary Space : O(1)
Method #3: Using math and tuple unpacking
- Import the math module
- Unpack the tuple into separate variables using tuple unpacking
- Divide the first element by 10^d, where d is the number of digits in the second element
- Add the quotient from step 3 to the second element, to get a float
Python3
import
math
test_tup
=
(
4
,
56
)
print
(
"The original tuple : "
+
str
(test_tup))
a, b
=
test_tup
res
=
a
+
(b
/
math.
pow
(
10
,
len
(
str
(b))))
res
=
round
(res,
2
)
print
(
"The float after conversion from tuple is : "
+
str
(res))
Output
The original tuple : (4, 56) The float after conversion from tuple is : 4.56
Time complexity: O(1)
Auxiliary space: O(1)