【问题标题】:python turning an input field of floats into a properly separated list of numberspython将浮点输入字段转换为正确分隔的数字列表
【发布时间】:2020-03-31 23:58:17
【问题描述】:

我正在开发一个烧瓶应用程序,我需要用户输入一个浮点数列表。我有一个看起来像的当前方法:

times = request.form.get("FORMNAME")

        if not times:
            return "Error: Please enter a list of numbers"

        #print(times)
        timelist = []
        #print(times)
        #print(list(times))
        for i in range(0,len(times)):
            if times[i] != ",":
                timelist.append(int(times[i]))

现在这在大多数情况下都有效,但我觉得它草率且效率低下,而且当我使用小数时,它会把所有东西都扔掉。我相信我需要使用 map() 函数,但我对用法有点困惑,不知道如何将它应用到我的代码中,尽管我怀疑它会起作用。简单地说,我想从 HTML 表单中获取输入,并将其转换为值列表。 IE 我的输入类似于 1.23,2.34,3.45,它会返回一个列表,例如 [1,23,2.34,3.45]。

使用list() 将每个单独的字符变成一个列表元素,把它变成一个字符串对我没有好处。最好的方法是什么?谢谢!

【问题讨论】:

  • Python 确实有一种无需循环即可拆分字符串的方法:map(float, times.split(','))

标签: python html forms input


【解决方案1】:

稍微扩展一下 GWW 所说的内容,您可以使用:

timelist = list(map(float, times.split(',')))

【讨论】:

  • 我试过这个,但是当我尝试遍历列表时,它会遍历每个字符,我需要它遍历列表中的每个浮点数。
  • 我运行了以下代码:times = '1.23,2.34,3.45' timelist = list(map(float, times.split(','))) print(timelist) 结果得到 [1.23, 2.34, 3.45]。我想这取决于时间输入是一个字符串。
  • 抱歉这里的格式,我不知道如何正确!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-11
  • 2018-09-25
  • 2013-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多