使用Python将字符串拆分为数字
例如,我想从string使用Python将字符串拆分为数字,python,Python,例如,我想从string“1+2-3.0”中获取列表[1.0,2.0,-3.0],但我不知道如何做到这一点 你的想法是什么?使用正则表达式,你可以很容易地做到这一点。结果是字符串列表,最终应转换为float以匹配您的结果 实施 import re s = "1+2-3.0" map(float, re.findall("([+-]?[\d\.]+)", s)) 如果您使用的是Python3.X,请记住在映射返回映射对象时将其转换为列表。否则,请使用列表 正则表达式解释 import re s
“1+2-3.0”
中获取列表[1.0,2.0,-3.0]
,但我不知道如何做到这一点
你的想法是什么?使用正则表达式,你可以很容易地做到这一点。结果是字符串列表,最终应转换为float以匹配您的结果 实施
import re
s = "1+2-3.0"
map(float, re.findall("([+-]?[\d\.]+)", s))
如果您使用的是Python3.X,请记住在映射返回映射对象时将其转换为列表。否则,请使用列表
正则表达式解释
import re
s = "1+2-3.0"
map(float, re.findall("([+-]?[\d\.]+)", s))
查找以符号为前缀的所有数字(数字和句点)
输出
[1.0, 2.0, -3.0]
您首先需要更好地指定需求。为什么你想要
-3.0
而不是3.0
?在1+2
之间的+
发生了什么事?@BurhanKhalid注释当然我认为他需要1,2
,因为+2
=2
。因此,我认为@Abhijit的答案是完美的。重点是,这个问题表达得很糟糕。map(float,re.split([+-]”,s))
没有按预期工作。@PriyankPatel:可能是您在使用Python 3.XNope<代码>2.7.3。o/p是[1.0,2.0,3.0]
。3.X的决定是什么?re.split
版本忽略符号。