Извлекать только числа из данных в Jython
Вопрос
Вот моя проблема.Я работаю над программой Jython, и мне нужно извлечь числа из PyJavaInstance:
[{string1="foo", xxx1, xxx2, ..., xxxN, string2="bar"}]
(где xxx — числа с плавающей запятой).
Мой вопрос заключается в том, как я могу извлечь числа и поместить их в более простую структуру, например список Python.
Заранее спасибо.
Решение
А PyJavaInstance
— это оболочка Jython для экземпляра Java;то, как вы извлекаете из него числа, зависит от того, что это такое.Если вам нужно получить кучу данных, некоторые из которых являются строками, а некоторые — числами с плавающей запятой, то:
float_list = []
for item in instance_properties:
try:
float_list.append(float(item))
except ValueError:
pass
Другие советы
Можете ли вы перебрать и проверить, является ли элемент плавающим?Метод, который вы ищете, isinstance
.Я надеюсь, что это реализовано в Jython.
Спасибо, Винай.Это также решение, которое я только что нашел:
new_inst=[]
for element in instance:
try:
float(element)
new_inst.append(float(element))
except ValueError:
del(element)
@SilentGhost:Хорошее предложение.Проблема заключалась в том, чтобы найти, какой метод может определить, является ли каждый элемент, который я повторяю, числом с плавающей запятой.