【问题标题】:Convert list of floats to comma separated string | Python将浮点数列表转换为逗号分隔的字符串 | Python
【发布时间】:2021-05-13 10:02:43
【问题描述】:

给定一个 列表 浮动:

my_list = [0.3, 0.11, -0.9]

我想要一个 string 文字对象:

my_string = "0.3, 0.11, -0.9"

尝试:

print(', '.join(inputs))
> TypeError: sequence item 0: expected str instance, float found

【问题讨论】:

    标签: python python-3.x string list


    【解决方案1】:

    紧凑的方式:

    l = [0.3, 0.11, -0.9]
    
    print (str(l)[1:-1])
    

    输出:

    0.3, 0.11, -0.9
    

    仍然要谨慎使用:)。 “常规”方式是:

    print (', '.join([str(x) for x in l]))
    

    【讨论】:

      【解决方案2】:

      试试这个:

      print(' , '.join(str(x) for x in [0.3, 0.11, -0.9]))
      

      【讨论】:

      • 更新了你的答案。谢谢:)
      【解决方案3】:

      可以说,最简单的方法是:

      my_string = str(my_list)[1:-1]
      

      这需要my_list,将其转换为字符串,并将字符从1)保留第一个字符为0)变为-1(不取结束字符)

      【讨论】:

      • 哦,有趣。泰:)
      【解决方案4】:

      更pythonic的方式是使用map先将float的值全部转换为str,再使用函数join拼接成字符串。 p>

      print(', '.join(map(str, my_list)))
      

      当my_list = [0.3, 0.11, -0.9] 时打印0.3, 0.11, -0.9

      【讨论】:

        【解决方案5】:

        你可以像这样使用字符串的连接函数:

        首先你必须将 float 转换为 str

        my_string = ', '.join([str(i) for i in my_list])
        

        【讨论】:

        • 这个答案有很多语法问题。我试过 my_string = ', '.join([float(i) for i in inputs]) 但得到了TypeError: sequence item 0: expected str instance, float found。
        • 你必须使用 str 而不是 float @ThePewCD​​estroyer
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-02-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-17
        相关资源
        最近更新 更多