コンテンツにスキップ

0202: 偶数だけの平方

問題

整数のイテラブル values から、偶数だけを選んで平方したリストを返す関数 even_squares(values) を実装してください。 返り値の順序は、入力で偶数が現れた順序とします。

制約

  • 0 は偶数として扱います。
  • 負の偶数も対象に含めます。
  • 入力を変更してはいけません。
  • 入力全体をリストに変換する必要はありません。

>>> even_squares([1, 2, 3, 4, 5])
[4, 16]
>>> even_squares([-4, -3, 0, 2])
[16, 0, 4]
>>> even_squares(x for x in [1, 2, 6])
[4, 36]

発展

平方ではなく、任意の1引数関数を偶数にだけ適用する版を書いてください。

参考

  • 『Python Distilled』第2章「標準的な演算子」
  • 『Python Distilled』第2章「イテラブルオブジェクト」
  • 『Python Distilled』第2章「内包表記」