【问题标题】:How do i convert split string to an array of numbers? [duplicate]如何将拆分字符串转换为数字数组? [复制]
【发布时间】: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


【解决方案1】:
x = '1,0.5,3'
l = [float(a) for a in x.split(',')]

结果:

[1,0.5,3]

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

【讨论】:

    【解决方案2】:

    如果您真的需要它们是 ints 而不是浮点数,您可以截断它们,例如:

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

    【讨论】:

      【解决方案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'
      

      【讨论】:

        猜你喜欢
        • 2019-06-11
        • 2015-08-17
        • 2015-10-23
        • 2018-05-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-07
        相关资源
        最近更新 更多