Pythonのlambda(ラムダ式・無名関数)でfor文によるループを使用する

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()関数で出力させることができました。

コメント

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