使用Python将字符串拆分为数字

时间:2014-01-27 06:04:43

标签: python

例如,我想从字符串[1.0, 2.0, -3.0]获取列表"1+2-3.0",但我对如何执行此操作没有任何想法。

你的想法是什么?

1 个答案:

答案 0 :(得分:2)

使用Regex,您可以非常轻松地完成此操作。作为字符串列表的结果应该最终转换为float以匹配您的结果。

<强>实施

import re
s = "1+2-3.0"
map(float, re.findall("([+-]?[\d\.]+)", s))

如果您使用的是Python 3.X,请记住将地图转换为列表,因为它会返回地图对象。否则,请使用列表理解

[float(e) for e in re.split("[+-]", s)]

正则表达式解释

查找带有符号前缀的所有数字(数字和句点)

<强>输出

[1.0, 2.0, -3.0]