Pythonのlambda(ラムダ式・無名関数)でfor文によるループを使用してみます。
■Python
Google Colaboratory(Google Colab),Python3.7.10
■lambda(ラムダ式・無名関数)でfor文によるループ
では、早速lambda(ラムダ式・無名関数)でfor文によるループを使用してみます。
■コード(基本的な構文)
x = lambda x:(for i in x : print i)
lambda(ラムダ式・無名関数)でfor文によるループを使用する場合の基本的な構文は上記になります。
■コード(サンプル)
list_1 = [1,2,3,4,5] list_2 = [] for i in list_1: function = lambda i: i * 10 list_2.append(function(i)) print(list_2)
今回はtest_1というリストを角括弧”[ ]”を用いて定義します。定義したリスト内には要素(値)を格納します。今回の場合は数値。
格納後、test_2というリストを先程同様に角括弧”[ ]”を用いて定義し、このリストには要素は格納せず空にしておきます。
その後、for文を用いて、test_1のリストの要素(値)を順番に取得しつつ、ブロック内の処理を順番に実行します。今回の処理は、functionを定義し、その中でlambda式を用いて、引数,パラメータであるiに、アスタリスク”*”を用いて指定した数値を乗算(かけ算)するものです。
定義後、test_2に対して、append()関数を用いて要素の追加します。追加する要素は、定義したfunctionを呼び出し、実行された処理後の値を追加します。
これでtest_2の空のリスト内に要素(値)が追加となり、test_2のリストをprint()関数で出力します。
■実行・検証
スクリプトを作成後、このスクリプトを実行してみます。
実行してみると、lambda(ラムダ式・無名関数)でfor文によるループを用いたことで、今回定義したtest_1のリストの要素(値)が処理された後の値を、test_2のリストに追加し、print()関数で出力させることができました。
コメント