例如,我想从字符串[1.0, 2.0, -3.0]
获取列表"1+2-3.0"
,但我对如何执行此操作没有任何想法。
你的想法是什么?
答案 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]