Pergunta

Aqui está o meu problema. Eu estou trabalhando em um programa Jython e eu tenho que números extrato de uma PyJavaInstance:

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

(onde XXX são os números de ponto flutuante).

A minha pergunta é como eu posso extrair os números e colocá-los em uma estrutura mais simples como uma lista python.

Agradecemos antecipadamente.

Foi útil?

Solução

A PyJavaInstance é um invólucro em torno Jython uma instância de Java; como extrair números de que depende o que é. Se você precisa para obter um monte de coisas - alguns dos quais são strings e alguns dos quais são carros alegóricos, então:

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

Outras dicas

pode você iterate e verificação se um item é flutuante? O método que você está procurando isinstance . Espero que seja implementado em Jython.

Obrigado Vinay. É também o tipo de solução que eu encontrei apenas:

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

@SilentGhost: Boa sugestão. A questão era encontrar o método poderia determinar se cada elemento I iterate é um número float.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top