Python: преобразование строки в десятичное число У меня есть список python со строками в этом формате: A1 = [' "29.0" ',' "65.2" ',' "75.2" '] Как преобразовать эти строки в десятичные числа для выполнения арифметических операций над элементами списка? Ответ 1 Если вы хотите, чтобы результат использовался как ближайший двоичный номер с плавающей запятой, используйте float: result = [float(x.strip(' "')) for x in A1] Если вы хотите, чтобы полученный результат точно использовал Decimal вместо float: from decimal import Decimal result = [Decimal(x.strip(' "')) for x in A1] Ответ 2 используйте встроенную функцию float() в понимании списка. A2 = [float(v.replace('"','').strip()) for v in A1] Ответ 3 Вам нужно будет использовать strip() из-за дополнительных бит в строках. A2 = [float(x.strip('"')) for x in A1] Ответ 4 A2 = [float(x.strip('"')) for x in A1] работает, @Jake, но нет необходимости 0s Ответ 5 Если вы конвертируете цену (в строке) в десятичную цену, тогда... from decimal import Decimal price = "14000,45" price_in_decimal = Decimal(price.replace(',','')) Ответ 6 Если вы конвертируете строку в float: 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]
Ответ 1 Если вы хотите, чтобы результат использовался как ближайший двоичный номер с плавающей запятой, используйте float: result = [float(x.strip(' "')) for x in A1] Если вы хотите, чтобы полученный результат точно использовал Decimal вместо float: from decimal import Decimal result = [Decimal(x.strip(' "')) for x in A1]
Ответ 2 используйте встроенную функцию float() в понимании списка. A2 = [float(v.replace('"','').strip()) for v in A1]
Ответ 3 Вам нужно будет использовать strip() из-за дополнительных бит в строках. A2 = [float(x.strip('"')) for x in A1]
Ответ 5 Если вы конвертируете цену (в строке) в десятичную цену, тогда... from decimal import Decimal price = "14000,45" price_in_decimal = Decimal(price.replace(',',''))
Ответ 6 Если вы конвертируете строку в float: 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]