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