Python: Convertir una cadena en un número decimal

Tengo una lista de python con cadenas en este formato:

A1 = [' "29.0" ',' "65.2" ',' "75.2" '] 

¿Cómo convierto esas cadenas en números decimales para realizar operaciones aritméticas en los elementos de la lista?

Si desea que el resultado sea el número binario de punto flotante más cercano, use float :

 result = [float(x.strip(' "')) for x in A1] 

Si desea que el resultado se almacene exactamente, utilice Decimal lugar de float :

 from decimal import Decimal result = [Decimal(x.strip(' "')) for x in A1] 

Necesitará usar strip() debido a los bits adicionales en las cadenas.

 A2 = [float(x.strip('"')) for x in A1] 

use la función incorporada de float () en una lista de comprensión.

A2 = [float(v.replace('"','').strip()) for v in A1]

Si está convirtiendo el precio (en cadena) al precio decimal, entonces …

 from decimal import Decimal price = "14000,45" price_in_decimal = Decimal(price.replace(',','')) 

A2 = [float(x.strip('"')) for x in A1] funciona, @Jake, pero hay 0s innecesarios

Si estás convirtiendo una cadena a flotar:

 import re A1 = [' "29.0" ',' "65.2" ',' "75.2" '] float_values = [float(re.search(r'\d+.\d+',number).group()) for number in A1] print(float_values) >>> [29.0, 65.2, 75.2]