Pythonで整数のリストから奇数を取り出して3倍する関数を定義し、実装してみます。
■今回の環境(Python)
Google Colaboratory(Google Colab),記事作成時点ではPython 3.9.16が用いられる。
■整数のリストから奇数を取り出して3倍する関数の定義
では、早速リスト内包表記を用いて整数のリストから奇数を取り出して3倍する関数を定義するために、コードを書いていきます。
■コード
def triple_odd(lst): return [num * 3 for num in lst if num % 2 != 0] result = triple_odd([1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) print(result)
今回はまずdef文を用いてtriple_odd()という関数を定義します。括弧内にはlstという引数,パラメータを設定します。この関数が呼び出された時の処理として、角括弧”[ ]”を用いてリストを定義します。そのリスト内でfor文を用いてlstで受け取ったリスト内の要素を順番にnum変数に格納していきます。格納後、if文を用いてnum変数に格納された要素(数値)と数値の「2」を算術演算子”%(パーセント)”を用いて割った余りを求めます。その後演算結果が代入演算子”!=(クエッションマークとイコール)”を用いて「0」と等しくない場合という条件を設定します。この条件が真(True)だった場合は、num変数の要素(数値)に演算子”*(アスタリスク)”を用いて要素(数値)を3倍します。偽(False)だった場合は、num変数の要素(数値)に結果のリストに含まれません(なお、偶数の要素は含まれないということ)。そして、条件が判定され、num変数の各要素(数値)を3倍した結果(真(True))が新しいリストに追加されます。これがreturnとして返されるという処理になります。
関数を定義後、resultという関数を定義しその中でtriple_odd()を呼び出します。この時に括弧内に引数,パラメータとして角括弧”[ ]”を用いてリストを定義し、その中に要素(数値)を入れたものを渡します。これで関数内の処理が実行され、結果がresult変数に格納されます。
最後にresult変数内の情報をprint()を用いて出力します。
■実行・検証
このコード(セル)を保存し、Google Colaboratory上で、セルを実行してみます。
実行してみると、リスト内包表記内で整数のリストから奇数を取り出して3倍する関数を定義し、定義した関数を呼び出し、処理を実行。実行後、新しいリストを出力させることができました。
改めてコードを確認すると、プログラミング初心者の人は、リスト内包表記でどのようなプロセスで処理が実行されているのかをしっかりと理解しておいた方が良いと感じた。
コメント