Pythonでリスト内包表記内で三項演算子を用いた関数を定義する

スポンサーリンク

Pythonでリスト内包表記内で三項演算子を用いた関数を定義し、実装してみます。

■今回の環境(Python)

Google Colaboratory(Google Colab),記事作成時点ではPython 3.9.16が用いられる。

■リスト内包表記内で三項演算子を用いた関数の定義

では、リスト内包表記内で三項演算子を用いて関数を定義するために、コードを書いていきます。

■コード

def test_method(lst):
    return [num * 2 if num % 2 == 0 else num * 3 for num in lst]

result = test_method([1, 2, 3, 4, 5, 6])
print(result)

今回はまずdef文を用いてtest_method()という関数を定義します。括弧内にはlstという引数,パラメータを設定します。この関数が呼び出された時の処理として、角括弧”[ ]”を用いてリストを定義します。そのリスト内でfor文を用いてlstで受け取ったリスト内の要素を順番にnum変数に格納していきます。格納後、if文を用いてnum変数に格納された要素(数値)と数値の「2」を算術演算子”%(パーセント)”を用いて割った余りを求めます。その後演算結果が代入演算子”==(イコール2つ)”を用いて「0」と等しい場合という条件を設定します。この条件が真(True)だった場合は、num変数の要素(数値)に演算子”*(アスタリスク)”を用いて要素(数値)を2倍します。偽(False)だった場合は、num変数の要素(数値)に演算子”*(アスタリスク)”を用いて要素(数値)を3倍します。if文の判定し処理が終わった後に、returnとして新しいリストが返されるという処理になります。なお、”*(アスタリスク)”算術演算子で、乗算(掛け算)を計算します。

関数を定義後、resultという関数を定義しその中でtest_method()を呼び出します。この時に括弧内に引数,パラメータとして角括弧”[ ]”を用いてリストを定義し、その中に要素(数値)を入れたものを渡します。これで関数内の処理が実行され、結果がresult変数に格納されます。

最後にresult変数内の情報をprint()を用いて出力します。

■実行・検証

このコード(セル)を保存し、Google Colaboratory上で、セルを実行してみます。

実行してみると、リスト内包表記内で三項演算子を用いた関数を定義し、定義した関数を呼び出し、処理を実行。実行後、新しいリストを出力させることができました。リスト内ではif文を用いた条件が処理されていることも確認できました。

なお、今回のリスト内包表記内で三項演算子を用いた関数は、記述されたものを見ても、どのような手順で処理されるのかを初心者が理解するのは難しいと感じた。なので、基礎をしっかりと頭に叩き込んだ方が良い。

コメント

タイトルとURLをコピーしました