Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将字符串转换为多个浮点_Python_String - Fatal编程技术网

Python 将字符串转换为多个浮点

Python 将字符串转换为多个浮点,python,string,Python,String,我想将一个“list”字符串转换成一个包含两个float项的列表。不幸的是,列表作为一个长字符串导入。 原件: a = '[123.34 , -12333]' 这是一个很大的长字符串,在该字符串中,使用map(float,a)转换为float返回:ValueError:无法将字符串转换为float:[ 新的: 其中123.34和-12333分别为单个浮点数 我试过eval(a)。这有点效果,但会使所有的负数变成正数 任何帮助都将不胜感激。谢谢。您需要先将字符串转换为列表 a = '[123.

我想将一个“list”字符串转换成一个包含两个float项的列表。不幸的是,列表作为一个长字符串导入。 原件:

a = '[123.34 , -12333]'
这是一个很大的长字符串,在该字符串中,使用map(float,a)转换为float返回:
ValueError:无法将字符串转换为float:[

新的:

其中123.34和-12333分别为单个浮点数

我试过
eval(a)
。这有点效果,但会使所有的负数变成正数


任何帮助都将不胜感激。谢谢。

您需要先将字符串转换为列表

a = '[123.34 , -12333]'
res = map(float, a[1:-1].split(','))

首先需要将字符串转换为列表

a = '[123.34 , -12333]'
res = map(float, a[1:-1].split(','))

除了现有答案之外,由于您有一个字符串形式的python列表,因此也可以使用:

输出

>>> f1, f2 = ast.literal_eval(a)
>>> f1
123.34
>>> f2
-12333

literal\u eval
用于安全地计算表达式
Unicode
拉丁-1编码字符串,其中包含
Python
literal。

除了现有答案之外,因为您还有一个字符串形式的Python列表,您也可以使用:

输出

>>> f1, f2 = ast.literal_eval(a)
>>> f1
123.34
>>> f2
-12333

literal\u eval
用于安全地计算表达式
Unicode
包含
Python
literal的拉丁-1
编码字符串。

使用列表理解

a = '[123.34 , -12333]'
string_list = a[1:-1].split(',')
res = [float(entry) for entry in string_list]

使用列表理解

a = '[123.34 , -12333]'
string_list = a[1:-1].split(',')
res = [float(entry) for entry in string_list]

不太清楚你需要什么。请尝试重新表述。*将所有负数转换为正数*:我无法重现,eval(a)必须工作。不太清楚你需要什么。请尝试重新表述。*将所有负数转换为正数*:我无法重现,eval(a)必须工作。