2016-03-23 6 views
-2

私は、次の形式でPythonスクリプトの出力として生成されたリストを、持っている:ストリップpythonで特定の値を抽出するためのリスト項目

[' (* 100.856 UnitA', ') [ 98.0%]', 
' (* 100.598 UnitB', ') [ 98.0%]', 
' (* 98.193 UnitC', ') [ 25.6%]'] 

は今、私は浮動小数点を入れて興味を持っていますがすべてのリスト項目の値をPythonスクリプトで処理するための新しいリストに追加します。方法はありますか(ビルドされたPython関数かもしれません)浮動小数点コンテンツだけを新しいリストに取り除くことはできますか?上記の例では、私の希望する出力は次のようになります:

[100.856,98.0,100.598,98.0,98.193,25.6] 

これは他の方法で実現できますか? hereからの正規表現パターンが山車を抽出し、必要に応じてフロートにキャストされます使用し

+1

これは単純にループまたはリストの理解で行うことができます。これまでに何を試しましたか? – SiHa

+0

私はextendを使ってみました。実現することはできません。 Pythonを初めて使う人。だから、オプションを探そうと思った。 –

答えて

4

In [153]: 
l=[' (* 100.856 UnitA', ') [ 98.0%]', 
' (* 100.598 UnitB', ') [ 98.0%]', 
' (* 98.193 UnitC', ') [ 25.6%]'] 
import re 
[float(re.findall(r'(-?\d+\.\d+)',x)[0]) for x in l] 

Out[153]: 
[100.856, 98.0, 100.598, 98.0, 98.193, 25.6] 

だからここにトリッキーなことは、あなたが数字\dの検索だけでなく、小数点を検索する必要があることですし、末尾の数字

関連する問題