私はlearnpython.orgのチュートリアルを進めてきましたが、この時点まではすべてが比較的簡単であることがわかりました。
リストの理解についての質問に来たとき、私は立ち往生しました。私はそれがどのように機能するかを把握しています。以下は、尋ねられた質問です。
リスト内包表記を使用して、リスト「numbers」から「newlist」と呼ばれる新しいリストを作成します。これには、リストの正の数のみが整数として含まれます。
そして提供されたコード:
numbers = [34.6, -203.4, 44.9, 68.3, -12.2, 44.6, 12.7]
newlist = []
print newlist
この質問に対する私の答えは次のとおりでした。
newlist = [x for x in numbers if x > 0]
これは配列から正しい数値を返しますが、各項目は約 15 dp です。すべての小数点以下の桁数ではなく、整数のみを取得するにはどうすればよいですか。
たとえば、期待される答えは次のとおりです。
[34、44、68、44、12]
しかし、私は次のようになります:
[34.600000000000001、44.899999999999999、68.299999999999997、44.600000000000001、12.699999999999999]
私が間違っている場所について誰かが光を当てることができれば、それは大歓迎です。
乾杯、
ジェイミー