2009-07-08 65 views
0

這是我的問題。我工作的一個Jython計劃,我不得不從PyJavaInstance提取號碼:僅從Jython中的數據中提取數字

[{字符串1 = 「富」,XXX1,XXX2,...,xxxN 1,字符串= 「酒吧」}]

(其中xxx是浮點數)。

我的問題是如何提取數字,並把它們放在一個更簡單的結構像Python列表。

預先感謝您。

回答

2

A PyJavaInstance是圍繞Java實例的Jython包裝器;你如何從中提取數字取決於它是什麼。如果你需要得到一堆東西 - 其中一些是字符串,其中一些是浮游物,那麼:

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

`float('23')`不會引發ValueError,因此會被追加。 – SilentGhost 2009-07-08 15:08:27

1

你可以迭代和檢查一個項目是否是浮動的?您正在尋找的方法是isinstance。我希望它在Jython中實現。

0

謝謝你Vinay。這也是我剛發現的那種解決方案:

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

@SilentGhost:好建議。問題是要找出哪些方法可以確定我迭代的每個元素是否爲浮點數。