Python | Convertir string flotante conjunta a números

A veces, al trabajar con lenguajes heredados, podemos tener ciertos problemas. Uno de ellos puede ser trabajar con FORTRAN que puede generar una salida de texto (sin espacios, que son obligatorios) ‘12.4567.23’. En esto, en realidad hay dos números separados de punto flotante pero concatenados. Podemos tener un problema en el que necesitemos separarlos. Analicemos ciertas formas en que se puede realizar esta tarea.
Método #1: Uso de loop + float() 
Este es un método de fuerza bruta en el que se puede realizar esta tarea. En esto, iteramos para cada elemento y lo dividimos en partes de 4 y saltamos a cada quinto elemento y realizamos una división y almacenamiento en la lista. La conversación de string a flotante se realiza mediante 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))
Producción : 

The original string is : 45.6778.4524.45
The float list is : [45.67, 78.45, 24.45]

 

 
Método n.º 2: usar la comprensión de listas + float() 
Esta es una forma abreviada de resolver este problema. Esto es similar a la función anterior. La diferencia es que realizamos todas las tareas de bucle en una sola línea utilizando la comprensión de listas.
 

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))
Producción : 

The original string is : 45.6778.4524.45
The float list is : [45.67, 78.45, 24.45]

 

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *