2017-06-26 16 views
-1

私のスクリプトは2つの文字列リスト、abを与えます。私はいくつかの計算を行うためにそれらをフロートリストに変換したいが、リストにはいくつかのギャップがある。例えば、私はa = ["1"," ","3","4"]を持っていると私は0で、これらのギャップを埋め、リスト内包表記を使用して、このa = ["1","0","3","4"]リストの空白を置き換えます

+7

'[1、3,4]'リストを定義していません。 –

+0

@MosesKoledoye彼が "1"、 ""、 "3"、 "4"を意味していたことを確かめてください。ウィルソンを編集する必要があります。 – kabanus

+0

'ギャップ'(空文字列?)はどこから来たのでしょうか?おそらく最初にリスト内でそれらが出るのを止めることができます。 –

答えて

1
a = list(map(lambda x: float(x) if x else .0, a)) 
+0

私が彼を理解していれば、おそらく 'float(x)if x'が必要です。 – kabanus

+0

ok、fixed ....... – vZ10

0

を持っていると思います。

a = ["1", " ", "3", "4"] 

[float(i) if i.strip() else 0. for i in a] 
# [1.0, 0.0, 3.0, 4.0] 

strip()部分がFalseに評価さ" "Stringを作ることです。

>>> bool("") 
False 
>>> bool(" ") 
True 
>>> bool(" ".strip()) 
False 

orginal source

関連する問題