Pythonを用いてリスト内包表記を使用して偶数を2倍にする関数を実装してみます。
■今回の環境(Python)
Google Colaboratory(Google Colab),記事作成時点ではPython 3.9.16が用いられる。
■リスト内包表記を使用して偶数を2倍にする関数を定義する
では、リスト内包表記を使用して偶数を2倍にする関数を定義するために、コードを書いていきます。
■コード
def double_even(lst): return [num * 2 for num in lst if num % 2 == 0] result = double_even([1, 2, 3, 4, 5, 6]) print(result)
今回はまずdef文を用いてdouble_even()という関数を定義します。括弧内にはlstという引数,パラメータを設定します。この関数が呼び出された時の処理として、角括弧”[ ]”を用いてリストを定義します。そのリスト内でfor文を用いてlstで受け取ったリスト内の要素を順番にnum変数に格納していきます。格納後、if文を用いてnum変数に格納された要素(数値)と数値の「2」を算術演算子”%(パーセント)”を用いて割った余りを求めます。その後演算結果が代入演算子”==(イコール2つ)”を用いて「0」と等しい場合という条件を設定します。この条件が真(True)だった場合は、num変数の要素(数値)に演算子”*(アスタリスク)”を用いて2倍した要素(数値)を格納した新しいリストを作成しreturnで返すという処理になります。なお、今回の場合では偶数ではない数値は、何もしないため、新しいリスト内に追加されません。
関数を定義後、resultという関数を定義しその中でdouble_even()を呼び出します。この時に括弧内に引数,パラメータとして角括弧”[ ]”を用いてリストを定義し、その中に要素(数値)を入れたものを渡します。これで関数内の処理が実行され、結果がresult変数に格納されます。
最後にresult変数内の情報をprint()を用いて出力します。
■実行・検証
このコード(セル)を保存し、Google Colaboratory上で、セルを実行してみます。
実行してみると、今回引数,パラメータとして渡したリスト内の偶数のみが抽出され、この偶数が演算子を用いて2倍され、2倍された要素(数値)が新しいリストとして返され、そのリストを出力させることができました。
コメント