【问题标题】:Extract only numbers from data in Jython仅从 Jython 中的数据中提取数字
【发布时间】:2009-07-08 14:56:48
【问题描述】:

这是我的问题。我正在开发一个 Jython 程序,我必须从 PyJavaInstance 中提取数字:

[{string1="foo", xxx1, xxx2, ..., xxxN, string2="bar"}]

(其中 xxx 是浮点数)。

我的问题是如何提取数字并将它们放入更简单的结构中,例如 python 列表。

提前谢谢你。

【问题讨论】:

    标签: python list jython extract


    【解决方案1】:

    PyJavaInstance 是围绕 Java 实例的 Jython 包装器;如何从中提取数字取决于它是什么。如果你需要得到一堆东西——其中一些是字符串,一些是浮点数,那么:

    float_list = []
    for item in instance_properties:
        try:
            float_list.append(float(item))
        except ValueError:
            pass
    

    【讨论】:

    • float('23') 不会引发 ValueError,因此将被附加。
    • 当然可以,但 '23' 是否为有效浮点数取决于应用程序。这同样适用于指数符号,例如1e3
    【解决方案2】:

    你能迭代并检查一个项目是否是浮动的吗?您正在寻找的方法是isinstance。我希望它在 Jython 中实现。

    【讨论】:

      【解决方案3】:

      谢谢维奈。这也是我刚刚找到的那种解决方案:

       new_inst=[]
      for element in instance:
          try:
              float(element)
              new_inst.append(float(element))
          except ValueError:
              del(element)
      

      @SilentGhost:好建议。问题是找到什么方法可以确定我迭代的每个元素是否都是浮点数。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-07-18
        • 2016-12-13
        • 2015-10-02
        • 2016-10-27
        • 1970-01-01
        • 2020-06-03
        • 2020-03-28
        相关资源
        最近更新 更多