【发布时间】:2019-05-06 08:59:08
【问题描述】:
我有一个字符串需要根据,进行拼接,
x = '1,0.5,3'
y = x.split(',')
print(y)
//Result
//['1','0.5','3']
我想拆分字符串但得到一个数字数组作为返回值。
预期回报
[1,0.5,3]
【问题讨论】:
标签: python python-3.x split
我有一个字符串需要根据,进行拼接,
x = '1,0.5,3'
y = x.split(',')
print(y)
//Result
//['1','0.5','3']
我想拆分字符串但得到一个数字数组作为返回值。
预期回报
[1,0.5,3]
【问题讨论】:
标签: python python-3.x split
x = '1,0.5,3'
l = [float(a) for a in x.split(',')]
结果:
[1,0.5,3]
使用float(),因为你有一个浮点数。您可以使用int(),但这会进行一些舍入
【讨论】:
如果您真的需要它们是 ints 而不是浮点数,您可以截断它们,例如:
>>> [int(float(e).__trunc__()) for e in x.split(",")]
[1, 0, 3]
【讨论】:
您必须转换每个项目:
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'
【讨论】: