如何将拆分字符串转换为数字数组?

时间:2019-05-06 08:59:08

标签: python python-3.x split

我有一个字符串需要基于进行拼接,

x = '1,0.5,3'
y = x.split(',')
print(y)

//Result
//['1','0.5','3']

我想分割字符串,但获取数字数组作为返回值。

预期收益

[1,0.5,3]

4 个答案:

答案 0 :(得分:5)

x = '1,0.5,3'
l = [float(a) for a in x.split(',')]

结果:

[1,0.5,3]

使用float()是因为其中有一个浮点。您可以使用int(),但这会进行一些舍入

答案 1 :(得分:1)

如果您确实要求它们为整数而不是浮点数,则可以截断它们,例如:

>>> [int(float(e).__trunc__()) for e in x.split(",")]
[1, 0, 3]

答案 2 :(得分:0)

您必须转换每个项目:

y = [float(y) for y in x.split(',')] // Result: [1.0, 0.5, 3.0]

注意:由于出现“ 0.5”,因此直接使用int(y)会给我这个错误:

File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '0.5'

答案 3 :(得分:0)

与使用for a in不同语法的答案相同: y = list(map(float, x.split(',')))