Extraer sólo los números de los datos en Jython
Pregunta
Este es mi problema. Estoy trabajando en un programa de Jython y tengo que extraer los números de un PyJavaInstance:
[{cadena1 = "foo", xxx1 "barra", xxx2, ..., xxxN, cadena2 =}]
(donde xxx son los números de coma flotante).
Mi pregunta es ¿cómo puedo extraer los números y ponerlos en una estructura más simple como una lista de Python.
Gracias de antemano.
Solución
A PyJavaInstance
es una envoltura Jython alrededor de una instancia de Java; cómo se extrae números de ella depende de lo que es. Si usted necesita para obtener un montón de cosas - algunos de los cuales son cadenas y algunos de los cuales son los flotadores, a continuación:
float_list = []
for item in instance_properties:
try:
float_list.append(float(item))
except ValueError:
pass
Otros consejos
se puede repetir y comprobar si un elemento es flotar? El método que está buscando es isinstance
. Espero que sea implementado en Jython.
Gracias Vinay. Es también el tipo de solución que acabo de descubrir:
new_inst=[]
for element in instance:
try:
float(element)
new_inst.append(float(element))
except ValueError:
del(element)
@SilentGhost: Buena sugerencia. La cuestión era encontrar qué método podría determinar si cada elemento que iterar es un número flotante.