Python|将联合浮点字符串转换为数字
有时,在使用传统语言时,我们可能会遇到某些问题。其中之一可以与 FORTRAN 一起使用,它可以提供文本输出(没有空格,这是必需的) '12.4567.23' 。在这种情况下,实际上有两个单独的浮点数,但连接在一起。我们可能会遇到需要将它们分开的问题。让我们讨论可以执行此任务的某些方式。
方法 #1:使用循环 + float()
这是可以执行此任务的蛮力方法。在此,我们对每个元素进行迭代并分成 4 个块并跳到每 5 个元素并执行拆分并存储在列表中。从字符串到浮点的对话是使用 float() 完成的。
Python3
# Python3 code to demonstrate working of
# Convert Joint Float string to Numbers
# Using loop + float()
# initializing string
test_str = "45.6778.4524.45"
# printing original string
print("The original string is : " + test_str)
# Convert Joint Float string to Numbers
# Using loop + float()
res = []
for idx in range(0, len(test_str), 5):
res.append(float(test_str[idx : idx + 5]))
# printing result
print("The float list is : " + str(res))
Python3
# Python3 code to demonstrate working of
# Convert Joint Float string to Numbers
# Using list comprehension + float()
# initializing string
test_str = "45.6778.4524.45"
# printing original string
print("The original string is : " + test_str)
# Convert Joint Float string to Numbers
# Using list comprehension + float()
res = [float(test_str[idx : idx + 5]) for idx in range(0, len(test_str), 5)]
# printing result
print("The float list is : " + str(res))
输出 :
The original string is : 45.6778.4524.45
The float list is : [45.67, 78.45, 24.45]
方法 #2:使用列表理解 + float()
这是解决此问题的速记方法。这类似于上面的函数。不同之处在于我们使用列表推导在单行中执行所有循环任务。
Python3
# Python3 code to demonstrate working of
# Convert Joint Float string to Numbers
# Using list comprehension + float()
# initializing string
test_str = "45.6778.4524.45"
# printing original string
print("The original string is : " + test_str)
# Convert Joint Float string to Numbers
# Using list comprehension + float()
res = [float(test_str[idx : idx + 5]) for idx in range(0, len(test_str), 5)]
# printing result
print("The float list is : " + str(res))
输出 :
The original string is : 45.6778.4524.45
The float list is : [45.67, 78.45, 24.45]