2016-07-12 15 views
-1

私はリストの理解度を5に等しいかそれより小さい数をbに加算するようにしましたが、プログラムを実行すると整数の代わりにBooleanを出力します。List comprehension整数の代わりにBooleanの内部に入れよう

どのように整数に変更するのですか。

a = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89] 
b = [i <= 5 for i in a] 
print b 

[True, True, True, True, True, False, False, False, False, False, False] 
+0

あなたは、aの各エントリが5以下であるかどうかをチェックするようにPythonに依頼しています。したがって、pythonは答えをbに設定しています。あなたのコードを達成する正しい方法について、Keiwanの答えをチェックしてください。 –

答えて

3

これはあなたが望むものを達成するための正しい方法である:

b = [i for i in a if i <= 5] 

あなたのバージョンでは表現i <= 5の結果入れている - ブール値です - a内のすべての要素のためのリストに、比較の結果が何であっても。

関連する問題